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;
}
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();
}
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();
}
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;
}
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);
}
}
Aggregations