package com.github.kristofa.test.http.client;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.BasicHttpProcessor;
/**
* This is a {@link CustomHttpClient} that removes the default interceptors of {@link DefaultHttpClient}. Reason is that we
* don't want to modify the original Http requests and responses.
*
* @author kristof
*/
class CustomHttpClient extends DefaultHttpClient {
@Override
protected BasicHttpProcessor createHttpProcessor() {
final BasicHttpProcessor httpproc = new BasicHttpProcessor();
// We don't add default headers as we don't want to modify original request.
// httpproc.addInterceptor(new RequestDefaultHeaders());
// Required protocol interceptors
// We don't add these interceptors as we don't want to modify original request.
// httpproc.addInterceptor(new RequestContent());
// httpproc.addInterceptor(new RequestTargetHost());
// Recommended protocol interceptors
// httpproc.addInterceptor(new RequestClientConnControl());
// httpproc.addInterceptor(new RequestUserAgent());
// httpproc.addInterceptor(new RequestExpectContinue());
// HTTP state management interceptors
// httpproc.addInterceptor(new RequestAddCookies());
// httpproc.addInterceptor(new ResponseProcessCookies());
// HTTP authentication interceptors
// httpproc.addInterceptor(new RequestAuthCache());
// httpproc.addInterceptor(new RequestTargetAuthentication());
// httpproc.addInterceptor(new RequestProxyAuthentication());
return httpproc;
}
}