Search in sources :

Example 6 with HttpLoggingInterceptor

use of okhttp3.logging.HttpLoggingInterceptor in project u2020 by JakeWharton.

the class DebugApiModule method provideLoggingInterceptor.

@Provides
@Singleton
HttpLoggingInterceptor provideLoggingInterceptor() {
    HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(message -> Timber.tag("OkHttp").v(message));
    loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.HEADERS);
    return loggingInterceptor;
}
Also used : HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor) Singleton(javax.inject.Singleton) Provides(dagger.Provides)

Example 7 with HttpLoggingInterceptor

use of okhttp3.logging.HttpLoggingInterceptor in project jianshi by wingjay.

the class AppModule method provideOkHttpClient.

@Provides
@Singleton
OkHttpClient provideOkHttpClient(GlobalRequestInterceptor globalRequestInterceptor) {
    OkHttpClient.Builder builder = new OkHttpClient.Builder().connectionPool(new ConnectionPool(5, 59, TimeUnit.SECONDS)).connectTimeout(20, TimeUnit.SECONDS).readTimeout(20, TimeUnit.SECONDS).addInterceptor(globalRequestInterceptor).retryOnConnectionFailure(false);
    if (BuildConfig.DEBUG) {
        builder.addNetworkInterceptor(new StethoInterceptor());
    }
    HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
    httpLoggingInterceptor.setLevel(BuildConfig.DEBUG ? HttpLoggingInterceptor.Level.BODY : HttpLoggingInterceptor.Level.NONE);
    builder.addInterceptor(httpLoggingInterceptor);
    return builder.build();
}
Also used : ConnectionPool(okhttp3.ConnectionPool) OkHttpClient(okhttp3.OkHttpClient) StethoInterceptor(com.facebook.stetho.okhttp3.StethoInterceptor) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor) Singleton(javax.inject.Singleton) Provides(dagger.Provides)

Example 8 with HttpLoggingInterceptor

use of okhttp3.logging.HttpLoggingInterceptor in project WordPress-Android by wordpress-mobile.

the class GravatarApi method createClient.

private static OkHttpClient createClient(final String accessToken) {
    OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
    //// uncomment the following line to add logcat logging
    //httpClientBuilder.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY));
    // add oAuth token usage
    httpClientBuilder.addInterceptor(new Interceptor() {

        @Override
        public Response intercept(Interceptor.Chain chain) throws IOException {
            Request original = chain.request();
            Request.Builder requestBuilder = original.newBuilder().header("Authorization", "Bearer " + accessToken).method(original.method(), original.body());
            Request request = requestBuilder.build();
            return chain.proceed(request);
        }
    });
    return httpClientBuilder.build();
}
Also used : Response(okhttp3.Response) OkHttpClient(okhttp3.OkHttpClient) Request(okhttp3.Request) IOException(java.io.IOException) Interceptor(okhttp3.Interceptor)

Example 9 with HttpLoggingInterceptor

use of okhttp3.logging.HttpLoggingInterceptor in project smartmodule by carozhu.

the class OkHttpUtils method getInstance.

public static OkHttpClient.Builder getInstance(final Context context) {
    mcontext = context;
    if (singleton == null) {
        synchronized (OkHttpUtils.class) {
            if (singleton == null) {
                singleton = new OkHttpClient().newBuilder();
                singleton.connectTimeout(HTTP_CONNECT_TIMEOUT, TimeUnit.SECONDS);
                singleton.readTimeout(HTTP_READ_TIMEOUT, TimeUnit.SECONDS);
                //okhttp设置错误重新连接
                singleton.retryOnConnectionFailure(true);
                //singleton.addNetworkInterceptor(REWRITE_RESPONSE_INTERCEPTOR);
                //singleton.addInterceptor(REWRITE_RESPONSE_INTERCEPTOR_OFFLINE);
                File cacheDir = new File(context.getCacheDir(), RESPONSE_CACHE);
                singleton.cache(new Cache(cacheDir, RESPONSE_CACHE_SIZE));
                //or use
                //Cache cache = new Cache(context.getCacheDir(), RESPONSE_CACHE_SIZE);
                //singleton.cache(cache);
                //singleton.interceptors().add(new ReceivedCookiesInterceptor(context));
                //singleton.interceptors().add(new AddCookiesInterceptor(context));
                //singleton.addNetworkInterceptor(mTokenInterceptor)
                //addNetworkInterceptor 让所有网络请求都附上你的拦截器,
                //如这里设置了一个 token 拦截器,就是在所有网络请求的 header 加上 token 参数,下面会稍微讲一下这个内容
                HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
                interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
                singleton.addInterceptor(interceptor);
                if (ConfigureManager.getConfigureManager().isOkhttpCache()) {
                    //设置缓存路径
                    File httpCacheDirectory = new File(context.getCacheDir(), "httpCacheResponses");
                    //设置缓存 100M
                    Cache cache = new Cache(httpCacheDirectory, RESPONSE_CACHE_SIZE);
                    Interceptor myinterceptor = new Interceptor() {

                        @Override
                        public Response intercept(Chain chain) throws IOException {
                            Request request = chain.request();
                            Log.i(TAG, "request=" + request);
                            if (!NetworkUtil.isNetworkAvailable(context)) {
                                request = request.newBuilder().cacheControl(CacheControl.FORCE_CACHE).build();
                                Log.i(TAG, "no network");
                            }
                            Response response = chain.proceed(request);
                            if (NetworkUtil.isNetworkAvailable(context)) {
                                // 有网络时 设置缓存超时时间0个小时
                                int maxAge = 0 * 60;
                                Log.i(TAG, "has network maxAge=" + maxAge);
                                response.newBuilder().header("Cache-Control", "public, max-age=" + maxAge).removeHeader(// 清除头信息,因为服务器如果不支持,会返回一些干扰信息,不清除下面无法生效
                                "Pragma").build();
                            } else {
                                Log.i(TAG, "network error");
                                // 无网络时,设置超时为4周
                                int maxStale = 60 * 60 * 24 * 28;
                                Log.i(TAG, "has maxStale=" + maxStale);
                                response.newBuilder().header("Cache-Control", "public, only-if-cached, max-stale=" + maxStale).removeHeader("Pragma").build();
                                Log.i(TAG, "response build maxStale=" + maxStale);
                            }
                            return response;
                        }
                    };
                    singleton.addInterceptor(myinterceptor).cache(cache);
                }
            }
        }
    }
    return singleton;
}
Also used : Response(okhttp3.Response) OkHttpClient(okhttp3.OkHttpClient) Request(okhttp3.Request) File(java.io.File) Interceptor(okhttp3.Interceptor) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor) Cache(okhttp3.Cache)

Example 10 with HttpLoggingInterceptor

use of okhttp3.logging.HttpLoggingInterceptor in project AnDevCon-RxPatterns by colintheshots.

the class Example11 method createGithubClient.

private void createGithubClient() {
    if (mGitHubClient == null) {
        HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor();
        loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient client = new OkHttpClient.Builder().addInterceptor(loggingInterceptor).addInterceptor(chain -> chain.proceed(chain.request().newBuilder().addHeader("Authorization", "token " + Secrets.GITHUB_PERSONAL_ACCESS_TOKEN).build())).build();
        mGitHubClient = new Retrofit.Builder().addCallAdapterFactory(RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io())).addConverterFactory(GsonConverterFactory.create()).client(client).baseUrl(GITHUB_BASE_URL).build().create(GitHubClient.class);
    }
}
Also used : Context(android.content.Context) Iterables(com.google.common.collect.Iterables) Bundle(android.os.Bundle) AndroidSchedulers(rx.android.schedulers.AndroidSchedulers) Action1(rx.functions.Action1) Observable(rx.Observable) Toast(android.widget.Toast) Map(java.util.Map) GsonConverterFactory(retrofit2.converter.gson.GsonConverterFactory) Schedulers(rx.schedulers.Schedulers) View(android.view.View) AdapterView(android.widget.AdapterView) ActionBar(android.app.ActionBar) Subscriber(rx.Subscriber) LayoutInflater(android.view.LayoutInflater) Expose(com.google.gson.annotations.Expose) ViewGroup(android.view.ViewGroup) Retrofit(retrofit2.Retrofit) List(java.util.List) TextView(android.widget.TextView) OkHttpClient(okhttp3.OkHttpClient) BaseAdapter(android.widget.BaseAdapter) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor) GET(retrofit2.http.GET) RxJavaCallAdapterFactory(retrofit2.adapter.rxjava.RxJavaCallAdapterFactory) Path(retrofit2.http.Path) ListView(android.widget.ListView) Activity(android.app.Activity) Retrofit(retrofit2.Retrofit) OkHttpClient(okhttp3.OkHttpClient) HttpLoggingInterceptor(okhttp3.logging.HttpLoggingInterceptor)

Aggregations

HttpLoggingInterceptor (okhttp3.logging.HttpLoggingInterceptor)22 OkHttpClient (okhttp3.OkHttpClient)17 Provides (dagger.Provides)11 Retrofit (retrofit2.Retrofit)10 Singleton (javax.inject.Singleton)9 GsonBuilder (com.google.gson.GsonBuilder)7 File (java.io.File)6 Cache (okhttp3.Cache)6 GsonConverterFactory (retrofit2.converter.gson.GsonConverterFactory)6 Observable (rx.Observable)6 StethoInterceptor (com.facebook.stetho.okhttp3.StethoInterceptor)5 List (java.util.List)5 Interceptor (okhttp3.Interceptor)5 Activity (android.app.Activity)4 Bundle (android.os.Bundle)4 ListView (android.widget.ListView)4 Gson (com.google.gson.Gson)4 Expose (com.google.gson.annotations.Expose)4 RxJavaCallAdapterFactory (retrofit2.adapter.rxjava.RxJavaCallAdapterFactory)4 Context (android.content.Context)3