Example usage for org.apache.http.nio.protocol NHttpRequestHandlerRegistry NHttpRequestHandlerRegistry

List of usage examples for org.apache.http.nio.protocol NHttpRequestHandlerRegistry NHttpRequestHandlerRegistry

Introduction

In this page you can find the example usage for org.apache.http.nio.protocol NHttpRequestHandlerRegistry NHttpRequestHandlerRegistry.

Prototype

public NHttpRequestHandlerRegistry() 

Source Link

Usage

From source file:com.limegroup.gnutella.http.HttpTestServer.java

public HttpTestServer(HttpParams params) throws IOException {
    this.params = params;
    this.registry = new NHttpRequestHandlerRegistry();
}

From source file:niproxy.NiProxy.java

/**
 * Setups a monitoring http proxy and starts a non blocking listening
 * service based on a {@link NiProxyConfig}. This is based on the Apache 
 * Software Foundation's example code "Basic non-blocking HTTP server" that 
 * can be found from http://hc.apache.org/httpcomponents-core-ga/examples.html. 
 *//*from  w  ww.ja va2 s  .c o  m*/
public NiProxy() {
    HttpParams params = new SyncBasicHttpParams();
    params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, NiProxyConfig.getHttpConnectionTimeout())
            .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
            .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
            .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true);

    HttpProcessor httpproc = new ImmutableHttpProcessor(new HttpResponseInterceptor[] { new ResponseDate(),
            new ResponseServer(), new ResponseContent(), new ResponseConnControl() });

    AsyncNHttpServiceHandler handler = new AsyncNHttpServiceHandler(httpproc, new DefaultHttpResponseFactory(),
            new DefaultConnectionReuseStrategy(), params);

    // Set up request handlers
    NHttpRequestHandlerRegistry registry = new NHttpRequestHandlerRegistry();
    registry.register("*", NiProxyMonitor.get());

    handler.setHandlerResolver(registry);

    // Provide an event logger
    handler.setEventListener(new EventLogger());

    IOEventDispatch ioEventDispatch = new DefaultServerIOEventDispatch(handler, params);
    try {
        logger.info("Setting up " + NiProxyConfig.getIOReactorWorkersCount() + " IOReactor workers");
        ListeningIOReactor ioReactor = new DefaultListeningIOReactor(NiProxyConfig.getIOReactorWorkersCount(),
                params);
        String host = NiProxyConfig.getNiProxyHost();
        int port = NiProxyConfig.getNiProxyPort();
        logger.info("Listening for connections at " + host + ":" + port);
        ioReactor.listen(new InetSocketAddress(host, port));
        logger.info("NiProxy set up done. Launching event dispatch...");
        ioReactor.execute(ioEventDispatch);
    } catch (Exception e) {
        logger.error("I/O reactor was interrupted. Exception: " + e);
        e.printStackTrace();
    }
    logger.info("NiProxy server shutdown.");
}

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;//from   w w  w . j  ava  2 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);
}