我想使用响应头来确定是否获取响应主体,这种情况是这样的,我需要确定响应头中的会话是否过期以确定是否继续下载该文件。如果会话到期,只需取消下载即可。
我看着okhttp的拦截器,发现它不符合我的要求。
答案 0 :(得分:0)
Interceptor interceptor = new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
//拦截
Response originalResponse = chain.proceed(chain.request());
Headers headers = originalResponse.headers();
if (callback != null){
callback.onCallBack(headers,downloadId);
}
//包装响应体并返回
return originalResponse
.newBuilder()
.body(new ProgressResponseBody(originalResponse.body(), progressListener))
.build();
}
};
return client.newBuilder()
.addInterceptor(interceptor)
.build();