如何在 Apache AsyncHttpClient 中拦截请求?

问题描述

有没有办法拦截AsyncHttpClient发出的请求,并根据请求数据做一些操作。

我想做这样的事情:

    interceptor = new Interceptor(){
        process(request){
           //do something  
        }
    }
    
    client.addInterceptor(interceptor);

这样的事情可能吗?

解决方法

我使用“过滤器”做到了。

AsyncHttpClientConfig.Builder configBuilder = new AsyncHttpClientConfig.Builder();
configBuilder.addResponseFilter(new ResponseFilter() {
    public FilterContext filter(FilterContext ctx) throws FilterException {
              //do something
        }
    }
});
AsyncHttpClient c = new AsyncHttpClient(configBuilder.build());

同样可以添加请求过滤器

configbuilder.addRequestFilter(RequestFilterImpl);