How to intercept a request in Apache AsyncHttpClient?



Is there a way to intercept a request made by AsyncHttpClient and do some operations based on the request data.

I want to do something like this:

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

is something like this possible?

Answer

I did it using ‘filters’.

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

Similarly you can add a request filter

configbuilder.addRequestFilter(RequestFilterImpl);


Source: stackoverflow