Search in sources :

Example 51 with retrofit2.http

use of retrofit2.http in project iNGAGE by davis123123.

the class UserRecentCommentHandler method enqueue.

// save recent comment in database
public void enqueue(String username, String thread_id, String messageText, String side, String ip) {
    HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
    logging.setLevel(HttpLoggingInterceptor.Level.BODY);
    OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
    httpClient.addInterceptor(logging);
    String url = "http://" + ip + "/track_user_comment.php/";
    Retrofit retrofit = new Retrofit.Builder().client(httpClient.build()).addConverterFactory(GsonConverterFactory.create()).baseUrl(url).build();
    Interface service = retrofit.create(Interface.class);
    Call<ResponseBody> call = service.post(username, thread_id, messageText, side, ip);
    call.enqueue(new Callback<ResponseBody>() {

        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            Log.i("STATE", "Retrofit response code: " + response.code());
            if (response.isSuccessful()) {
                Log.i("STATE", "Retrofit POST Success");
                try {
                    serverResponse = response.body().string();
                    Log.i("STATE", "Retrofit reponse: " + serverResponse);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else {
                Log.i("Retrofit Error Code:", String.valueOf(response.code()));
                Log.i("Retrofit Error Body", response.errorBody().toString());
            }
        }

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
            Log.i("STATE", "Retrofit Failure");
        }
    });
}
Also used : OkHttpClient(okhttp3.OkHttpClient) IOException(java.io.IOException) ResponseBody(okhttp3.ResponseBody) Retrofit(retrofit2.Retrofit) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor)

Example 52 with retrofit2.http

use of retrofit2.http in project SeeWeather by xcc3641.

the class RetrofitSingleton method initOkHttp.

private static void initOkHttp() {
    OkHttpClient.Builder builder = new OkHttpClient.Builder();
    // 缓存 http://www.jianshu.com/p/93153b34310e
    File cacheFile = new File(C.NET_CACHE);
    Cache cache = new Cache(cacheFile, 1024 * 1024 * 50);
    Interceptor cacheInterceptor = chain -> {
        Request request = chain.request();
        if (!Util.isNetworkConnected(BaseApplication.getAppContext())) {
            request = request.newBuilder().cacheControl(CacheControl.FORCE_CACHE).build();
        }
        Response response = chain.proceed(request);
        Response.Builder newBuilder = response.newBuilder();
        if (Util.isNetworkConnected(BaseApplication.getAppContext())) {
            int maxAge = 0;
            // 有网络时 设置缓存超时时间0个小时
            newBuilder.header("Cache-Control", "public, max-age=" + maxAge);
        } else {
            // 无网络时,设置超时为4周
            int maxStale = 60 * 60 * 24 * 28;
            newBuilder.header("Cache-Control", "public, only-if-cached, max-stale=" + maxStale);
        }
        return newBuilder.build();
    };
    builder.cache(cache).addInterceptor(cacheInterceptor);
    if (BuildConfig.DEBUG) {
        builder.addNetworkInterceptor(new StethoInterceptor());
    }
    // 设置超时
    builder.connectTimeout(15, TimeUnit.SECONDS);
    builder.readTimeout(20, TimeUnit.SECONDS);
    builder.writeTimeout(20, TimeUnit.SECONDS);
    // 错误重连
    builder.retryOnConnectionFailure(true);
    sOkHttpClient = builder.build();
}
Also used : StethoInterceptor(com.facebook.stetho.okhttp3.StethoInterceptor) Interceptor(okhttp3.Interceptor) Request(okhttp3.Request) Cache(okhttp3.Cache) BaseApplication(com.xiecc.seeWeather.base.BaseApplication) C(com.xiecc.seeWeather.common.C) CacheControl(okhttp3.CacheControl) Consumer(io.reactivex.functions.Consumer) CityORM(com.xiecc.seeWeather.modules.main.domain.CityORM) File(java.io.File) Retrofit(retrofit2.Retrofit) RxJava2CallAdapterFactory(retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory) BuildConfig(com.xiecc.seeWeather.BuildConfig) TimeUnit(java.util.concurrent.TimeUnit) ToastUtil(com.xiecc.seeWeather.common.utils.ToastUtil) OkHttpClient(okhttp3.OkHttpClient) Util(com.xiecc.seeWeather.common.utils.Util) RxUtil(com.xiecc.seeWeather.common.utils.RxUtil) GsonConverterFactory(retrofit2.converter.gson.GsonConverterFactory) Version(com.xiecc.seeWeather.modules.about.domain.Version) Response(okhttp3.Response) Observable(io.reactivex.Observable) WhereBuilder(com.litesuits.orm.db.assit.WhereBuilder) Weather(com.xiecc.seeWeather.modules.main.domain.Weather) Response(okhttp3.Response) OkHttpClient(okhttp3.OkHttpClient) WhereBuilder(com.litesuits.orm.db.assit.WhereBuilder) Request(okhttp3.Request) StethoInterceptor(com.facebook.stetho.okhttp3.StethoInterceptor) File(java.io.File) StethoInterceptor(com.facebook.stetho.okhttp3.StethoInterceptor) Interceptor(okhttp3.Interceptor) Cache(okhttp3.Cache)

Example 53 with retrofit2.http

use of retrofit2.http in project mobile-sdk-android by meniga.

the class MockClient method getApi.

public static MenigaAPI getApi(Interceptor myInterceptor) {
    OkHttpClient client = new OkHttpClient.Builder().addInterceptor(myInterceptor).build();
    final Retrofit retrofit = new Retrofit.Builder().addConverterFactory(new MenigaTransactionsConverter()).addConverterFactory(new MenigaFeedConverter(new MockFeedItemFactory(), GsonProvider.getGson())).addConverterFactory(new MenigaCategoryConverter()).addConverterFactory(new MenigaOfferConverter()).addConverterFactory(new MenigaRedemptionConverter(GsonProvider.getGson())).addConverterFactory(new MenigaReimbursementAccountConverter()).addConverterFactory(new MenigaIdNameKeyValConverter()).addConverterFactory(new MenigaChallengesConverter(new ChallengeItemFactory())).addConverterFactory(new MenigaFeedItemConverter(new MockFeedItemFactory())).addConverterFactory(new MenigaBaseConverter()).addConverterFactory(GsonConverterFactory.create()).baseUrl("http://meniga.is/api/").client(client).build();
    return retrofit.create(MenigaAPI.class);
}
Also used : OkHttpClient(okhttp3.OkHttpClient) MenigaFeedItemConverter(com.meniga.sdk.converters.MenigaFeedItemConverter) MenigaIdNameKeyValConverter(com.meniga.sdk.converters.MenigaIdNameKeyValConverter) MenigaFeedConverter(com.meniga.sdk.converters.MenigaFeedConverter) MenigaTransactionsConverter(com.meniga.sdk.converters.MenigaTransactionsConverter) MenigaReimbursementAccountConverter(com.meniga.sdk.converters.MenigaReimbursementAccountConverter) ChallengeItemFactory(com.meniga.sdk.helpers.ChallengeItemFactory) MockFeedItemFactory(com.meniga.sdk.helpers.MockFeedItemFactory) Retrofit(retrofit2.Retrofit) MenigaChallengesConverter(com.meniga.sdk.converters.MenigaChallengesConverter) MenigaBaseConverter(com.meniga.sdk.converters.MenigaBaseConverter) MenigaOfferConverter(com.meniga.sdk.converters.MenigaOfferConverter) MenigaCategoryConverter(com.meniga.sdk.converters.MenigaCategoryConverter) MenigaRedemptionConverter(com.meniga.sdk.converters.MenigaRedemptionConverter)

Example 54 with retrofit2.http

use of retrofit2.http in project mobile-sdk-android by meniga.

the class WebClientTest method testSpecialEndpointsAndTimeout.

@Test
public void testSpecialEndpointsAndTimeout() throws IllegalAccessException {
    MenigaSettings settings = new MenigaSettings.Builder().endpoint(HttpUrl.parse("http://example.com")).authenticator(new BasicAuthenticator()).timeout(20).addEndpointForService(Service.TRANSACTIONS, "http://example.transactions.com").addEndpointForServiceWithTimeout(Service.ACCOUNTS, "http://example.accounts.com", 100).build();
    MenigaSDK.init(settings);
    Map<Service, ?> services = MenigaSDK.executor().getApis();
    assertThat(MenigaSDK.executor().getApis()).containsKey(Service.TRANSACTIONS);
    assertThat(MenigaSDK.executor().getApis()).containsKey(Service.ACCOUNTS);
    OkHttpClient client = getOktHttpClient(services, Service.TRANSACTIONS);
    Retrofit retrofit = getRetrofit(services, Service.TRANSACTIONS);
    assertThat(retrofit).isNotNull();
    assertThat(retrofit.baseUrl().toString()).isEqualTo("http://example.transactions.com/");
    assertThat(client).isNotNull();
    assertThat(client.writeTimeoutMillis()).isEqualTo(20000);
    assertThat(client.readTimeoutMillis()).isEqualTo(20000);
    assertThat(client.connectTimeoutMillis()).isEqualTo(20000);
    client = getOktHttpClient(services, Service.ACCOUNTS);
    retrofit = getRetrofit(services, Service.ACCOUNTS);
    assertThat(retrofit).isNotNull();
    assertThat(retrofit.baseUrl().toString()).isEqualTo("http://example.accounts.com/");
    assertThat(client).isNotNull();
    assertThat(client.writeTimeoutMillis()).isEqualTo(100000);
    assertThat(client.readTimeoutMillis()).isEqualTo(100000);
    assertThat(client.connectTimeoutMillis()).isEqualTo(100000);
}
Also used : MenigaSettings(com.meniga.sdk.MenigaSettings) Retrofit(retrofit2.Retrofit) OkHttpClient(okhttp3.OkHttpClient) BasicAuthenticator(com.meniga.sdk.providers.BasicAuthenticator) Test(org.junit.Test)

Example 55 with retrofit2.http

use of retrofit2.http in project Pokemap by omkarmoghe.

the class GoogleManager method authUser.

@Deprecated
@SuppressWarnings({ "deprecation", "unused" })
public void authUser(final LoginListener listener) {
    HttpUrl url = HttpUrl.parse(OAUTH_ENDPOINT).newBuilder().addQueryParameter("client_id", CLIENT_ID).addQueryParameter("scope", "openid email https://www.googleapis.com/auth/userinfo.email").addQueryParameter("response_type", "code").addQueryParameter("redirect_uri", "http://127.0.0.1:9004").build();
    Callback<GoogleService.AuthRequest> googleCallback = new Callback<GoogleService.AuthRequest>() {

        @Override
        public void onResponse(Call<GoogleService.AuthRequest> call, Response<GoogleService.AuthRequest> response) {
            GoogleService.AuthRequest body = response.body();
            if (body != null) {
                listener.authRequested(body);
            } else {
                Log.e(TAG, "Google login failed while authenticating. response.body() is null.");
                listener.authFailed("Google login failed while authenticating");
            }
        }

        @Override
        public void onFailure(Call<GoogleService.AuthRequest> call, Throwable t) {
            t.printStackTrace();
            Log.e(TAG, "Google authentication failed when calling  authUser(). googleCallback's onFailure() threw: " + t.getMessage());
            listener.authFailed("Failed on getting the information for the user auth");
        }
    };
    if (mGoogleService != null) {
        Call<GoogleService.AuthRequest> call = mGoogleService.requestAuth(url.toString());
        call.enqueue(googleCallback);
    }
}
Also used : Response(retrofit2.Response) Call(retrofit2.Call) Callback(retrofit2.Callback) HttpUrl(okhttp3.HttpUrl)

Aggregations

Test (org.junit.Test)82 ResponseBody (okhttp3.ResponseBody)76 Request (okhttp3.Request)72 Retrofit (retrofit2.Retrofit)39 OkHttpClient (okhttp3.OkHttpClient)28 RequestBody (okhttp3.RequestBody)22 IOException (java.io.IOException)19 Query (retrofit2.http.Query)15 MultipartBody (okhttp3.MultipartBody)12 Buffer (okio.Buffer)12 Path (retrofit2.http.Path)12 Interceptor (okhttp3.Interceptor)11 HttpUrl (okhttp3.HttpUrl)10 Response (okhttp3.Response)10 HashMap (java.util.HashMap)9 LinkedHashMap (java.util.LinkedHashMap)9 Response (retrofit2.Response)9 Part (retrofit2.http.Part)9 List (java.util.List)8 QueryMap (retrofit2.http.QueryMap)8