Example usage for org.apache.http.protocol BasicHttpProcessor addInterceptor

List of usage examples for org.apache.http.protocol BasicHttpProcessor addInterceptor

Introduction

In this page you can find the example usage for org.apache.http.protocol BasicHttpProcessor addInterceptor.

Prototype

public final void addInterceptor(HttpResponseInterceptor httpResponseInterceptor) 

Source Link

Usage

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;
}