List of usage examples for org.apache.http.protocol BasicHttpProcessor addInterceptor
public final void addInterceptor(HttpResponseInterceptor httpResponseInterceptor)
From source file:NioHttpServer.java
public NioHttpServer(int port, // TCP port for the server. HttpRequestHandler request_responder, // Scheme level responder for HTTP requests from clients. EventListener connection_listener) throws Exception { HttpParams params = new BasicHttpParams(); params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000) .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024) .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false) .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true) .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "HttpComponents/1.1"); BasicHttpProcessor httpproc = new BasicHttpProcessor(); httpproc.addInterceptor(new ResponseDate()); httpproc.addInterceptor(new ResponseServer()); httpproc.addInterceptor(new ResponseContent()); httpproc.addInterceptor(new ResponseConnControl()); BufferingHttpServiceHandler service_handler = new BufferingHttpServiceHandler(httpproc, new DefaultHttpResponseFactory(), new DefaultConnectionReuseStrategy(), params); // Set up request handlers HttpRequestHandlerRegistry reqistry = new HttpRequestHandlerRegistry(); reqistry.register("*", request_responder); service_handler.setHandlerResolver(reqistry); service_handler.setEventListener(connection_listener); // Provide a connection listener. // Use two worker threads for the IO reactor. io_reactor = new DefaultListeningIOReactor(2, params); io_event_dispatch = new DefaultServerIOEventDispatch(handler, params); this.port = port; // Set the listening TCP port. }
From source file:NioHttpClient.java
public NioHttpClient(String user_agent, HttpRequestExecutionHandler request_handler, EventListener connection_listener) throws Exception { // Construct the long-lived HTTP parameters. HttpParams parameters = new BasicHttpParams(); parameters/*from w w w. j a va 2s .c o m*/ // Socket data timeout is 5,000 milliseconds (5 seconds). .setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 5000) // Maximum time allowed for connection establishment is 10,00 milliseconds (10 seconds). .setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000) // Socket buffer size is 8 kB. .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024) // Don't bother to check for stale TCP connections. .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false) // Don't use Nagle's algorithm (in other words minimize latency). .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true) // Set the user agent string that the client sends to the server. .setParameter(CoreProtocolPNames.USER_AGENT, user_agent); // Construct the core HTTP request processor. BasicHttpProcessor http_processor = new BasicHttpProcessor(); // Add Content-Length header to request where appropriate. http_processor.addInterceptor(new RequestContent()); // Always include Host header in requests. http_processor.addInterceptor(new RequestTargetHost()); // Maintain connection keep-alive by default. http_processor.addInterceptor(new RequestConnControl()); // Include user agent information in each request. http_processor.addInterceptor(new RequestUserAgent()); // Allocate an HTTP client handler. BufferingHttpClientHandler client_handler = new BufferingHttpClientHandler(http_processor, // Basic HTTP Processor. request_handler, new DefaultConnectionReuseStrategy(), parameters); client_handler.setEventListener(connection_listener); // Use two worker threads for the IO reactor. io_reactor = new DefaultConnectingIOReactor(2, parameters); io_event_dispatch = new DefaultClientIOEventDispatch(client_handler, parameters); }
From source file:org.devtcg.five.server.AbstractHttpServer.java
public void run() { if (mReqHandler == null) throw new IllegalStateException("Request handler not set."); while (Thread.interrupted() == false) { try {//from ww w . ja v a 2 s.c o m Socket sock = getSocket().accept(); DefaultHttpServerConnection conn = new DefaultHttpServerConnection(); conn.bind(sock, mParams); BasicHttpProcessor proc = new BasicHttpProcessor(); proc.addInterceptor(new ResponseContent()); proc.addInterceptor(new ResponseConnControl()); HttpRequestHandlerRegistry reg = new HttpRequestHandlerRegistry(); reg.register("*", mReqHandler); HttpService svc = new HttpService(proc, new DefaultConnectionReuseStrategy(), new DefaultHttpResponseFactory()); svc.setParams(mParams); svc.setHandlerResolver(reg); WorkerThread t; synchronized (mWorkers) { t = new WorkerThread(svc, conn); mWorkers.add(t); } t.start(); } catch (IOException e) { if (!hasCanceled()) { if (LOG.isErrorEnabled()) LOG.error("I/O error initializing connection thread", e); } break; } } }
From source file:com.facebook.stetho.server.LocalSocketHttpServer.java
private HttpService createService(HttpParams params) { HttpRequestHandlerRegistry registry = mRegistryInitializer.getRegistry(); BasicHttpProcessor httpproc = new BasicHttpProcessor(); httpproc.addInterceptor(new ResponseDate()); httpproc.addInterceptor(new ResponseServer()); httpproc.addInterceptor(new ResponseContent()); httpproc.addInterceptor(new ResponseConnControl()); HttpService service = new HttpService(httpproc, new DefaultConnectionReuseStrategy(), new DefaultHttpResponseFactory()); service.setParams(params);// w ww. j a v a2s . c o m service.setHandlerResolver(registry); return service; }
From source file:org.devtcg.five.util.streaming.LocalHttpServer.java
public void run() { if (mReqHandler == null) throw new IllegalStateException("Request handler not set."); if (mSocket == null) throw new IllegalStateException("Not bound."); Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); while (Thread.interrupted() == false) { try {//w w w. j av a 2 s . com Socket sock = mSocket.accept(); DefaultHttpServerConnection conn = new DefaultHttpServerConnection(); conn.bind(sock, mParams); BasicHttpProcessor proc = new BasicHttpProcessor(); proc.addInterceptor(new ResponseContent()); proc.addInterceptor(new ResponseConnControl()); HttpRequestHandlerRegistry reg = new HttpRequestHandlerRegistry(); reg.register("*", mReqHandler); HttpService svc = new HttpService(proc, new DefaultConnectionReuseStrategy(), new DefaultHttpResponseFactory()); svc.setParams(mParams); svc.setHandlerResolver(reg); WorkerThread t; synchronized (mWorkers) { t = new WorkerThread(svc, conn); mWorkers.add(t); } t.setDaemon(true); t.start(); } catch (IOException e) { Log.e(TAG, "I/O error initializing connection thread: " + e.getMessage()); break; } } }
From source file:com.grendelscan.commons.http.apache_overrides.client.CustomHttpClient.java
@Override protected BasicHttpProcessor createHttpProcessor() { BasicHttpProcessor httpproc = new BasicHttpProcessor(); httpproc.addInterceptor(new RequestDefaultHeaders()); // Required protocol interceptors httpproc.addInterceptor(new CustomRequestContent()); httpproc.addInterceptor(new RequestTargetHost()); // Recommended protocol interceptors httpproc.addInterceptor(new RequestConnControl()); 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 RequestTargetAuthentication()); // httpproc.addInterceptor(new RequestProxyAuthentication()); return httpproc; }
From source file:com.wondershare.http.core.Dispatcher.java
protected void initHttpService() { BasicHttpProcessor proc = new BasicHttpProcessor(); ConnectionReuseStrategy connStrategy = new DefaultConnectionReuseStrategy(); HttpResponseFactory responseFactory = new DefaultHttpResponseFactory(); proc.addInterceptor(new ResponseDate()); proc.addInterceptor(new ResponseServer()); proc.addInterceptor(new ResponseContent()); proc.addInterceptor(new ResponseConnControl()); httpService = new HttpService(proc, connStrategy, responseFactory); }
From source file:com.zotoh.maedr.device.apache.HttpIO.java
protected void onStart() throws Exception { // mostly copied from apache http tutotial... HttpParams params = new BasicHttpParams(); params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, (int) getSocetTimeoutMills()) .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024) // 8k? .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false) .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true) .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "Apache-HttpCore/4.x"); BasicHttpProcessor httpproc = new BasicHttpProcessor(); httpproc.addInterceptor(new ResponseDate()); httpproc.addInterceptor(new ResponseServer()); httpproc.addInterceptor(new ResponseContent()); httpproc.addInterceptor(new ResponseConnControl()); ConnectionReuseStrategy strategy = new DefaultConnectionReuseStrategy(); HttpResponseFactory rspFac = new DefaultHttpResponseFactory(); NHttpServiceHandler svc;//w w w .j av a2 s . c o m EventListener evt = new EventLogger(getId(), tlog()); if (isAsync()) { AsyncNHttpServiceHandler handler = new AsyncNHttpServiceHandler(httpproc, rspFac, strategy, params); NHttpRequestHandlerRegistry r = new NHttpRequestHandlerRegistry(); r.register("*", new HttpNRequestCB(this)); handler.setHandlerResolver(r); handler.setEventListener(evt); svc = handler; } else { StreamedHttpServiceHandler handler = new StreamedHttpServiceHandler(httpproc, rspFac, strategy, params); HttpRequestHandlerRegistry r = new HttpRequestHandlerRegistry(); r.register("*", new HttpRequestCB(this)); handler.setHandlerResolver(r); handler.setEventListener(evt); svc = handler; } IOEventDispatch disp = isSSL() ? onSSL(svc, params) : onBasic(svc, params); ListeningIOReactor ioReactor; ioReactor = new DefaultListeningIOReactor(getWorkers(), params); ioReactor.listen(new InetSocketAddress(NetUte.getNetAddr(getHost()), getPort())); _curIO = ioReactor; // start... runServer(disp, ioReactor); }
From source file:com.yanzhenjie.andserver.CoreThread.java
/** * Create HttpProcessor./*from w ww. j ava2s . co m*/ * * @return {@link HttpProcessor}. */ private HttpProcessor createHttpProcessor() { BasicHttpProcessor httpProcessor = new BasicHttpProcessor(); httpProcessor.addInterceptor(new ResponseContent()); httpProcessor.addInterceptor(new ResponseConnControl()); httpProcessor.addInterceptor(new ResponseDate()); httpProcessor.addInterceptor(new ResponseServer()); httpProcessor.addInterceptor(new ResponseProcessCookies()); return httpProcessor; }
From source file:org.yamj.api.common.http.AbstractPoolingHttpClient.java
@Override protected BasicHttpProcessor createHttpProcessor() { BasicHttpProcessor httpproc = new BasicHttpProcessor(); httpproc.addInterceptor(new RequestDefaultHeaders()); // Required protocol interceptors 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; }