拦截器容器,装载了所有拦截器
private List<Interceptor> interceptors = new ArrayList<>();
拦截器容器添加拦截器
public void addInterceptors(Interceptor interceptor) {
this.interceptors.add(interceptor);
}
创建OKhttp配置一个默认拦截器
OkHttpClient.Builder mOkHttpBuilder = new OkHttpClient.Builder()
.addNetworkInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
.addInterceptor(默认拦截器)
.connectTimeout(DEFAULT_TIMEOUT, TimeUnit.SECONDS);
默认拦截器实现:创建拦截器责任链表
@Override
public Response intercept(Chain chain) throws IOException {
return new TChain(interceptors, chain).proceed();
}
自定义责任链表类
c