下面列出了com.squareup.okhttp.Interceptor#com.facebook.stetho.okhttp.StethoInterceptor 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public LoginViewModel() {
List<Interceptor> interceptors = new ArrayList<>();
interceptors.add(new StethoInterceptor());
interceptors.add(chain -> {
Response response = chain.proceed(chain.request());
List<String> cookieHeaders = response.headers("set-cookie");
for (String header : cookieHeaders) {
if (header.contains("user")) {
mUserCookie = header.split(";")[0];
}
else if(header.contains("__cfduid")){
mCfduid = header.split(";")[0];
}
}
return response;
});
DaggerNetworkServiceComponent.builder()
.okClientModule(new OkClientModule(interceptors))
.appModule(HackerNewsApplication.getAppModule())
.appComponent(HackerNewsApplication.getAppComponent())
.build()
.inject(this);
}
/**
* 用于Stethoscope调试的ttpClient
*/
public static OkClient getOkClient() {
OkHttpClient client = new OkHttpClient();
client.setConnectTimeout(CONNECT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
client.setReadTimeout(READ_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS);
client.networkInterceptors().add(new StethoInterceptor());
return new OkClient(client);
}
@Override
public void onCreate() {
super.onCreate();
Stetho.initializeWithDefaults(this);
OkHttpClient client = new OkHttpClient();
client.networkInterceptors().add(new StethoInterceptor());
}
@Provides
@Named("okclient")
OkClient providesOkClient(){
OkHttpClient okHttpClient = new OkHttpClient();
okHttpClient.setFollowRedirects(true);
okHttpClient.setFollowSslRedirects(true);
if(mInterceptorList != null){
okHttpClient.networkInterceptors().addAll(mInterceptorList);
}
okHttpClient.networkInterceptors().add(new StethoInterceptor());
return new OkClient(okHttpClient);
}
@Override public OkHttpClient provideOkHttpClient(Application app) {
OkHttpClient client = super.provideOkHttpClient(app);
client.networkInterceptors().add(new StethoInterceptor());
return client;
}