Example usage for org.apache.http.protocol HttpRequestHandlerRegistry register

List of usage examples for org.apache.http.protocol HttpRequestHandlerRegistry register

Introduction

In this page you can find the example usage for org.apache.http.protocol HttpRequestHandlerRegistry register.

Prototype

public void register(String str, HttpRequestHandler httpRequestHandler) 

Source Link

Usage

From source file:com.yanzhenjie.andserver.DefaultAndServer.java

@Override
public void run() {
    try {/*from  w  w w.  j av a 2 s . c  o  m*/
        mServerSocket = new ServerSocket();
        mServerSocket.setReuseAddress(true);
        mServerSocket.bind(new InetSocketAddress(mPort));

        // HTTP??
        BasicHttpProcessor httpProcessor = new BasicHttpProcessor();
        httpProcessor.addInterceptor(new ResponseDate());
        httpProcessor.addInterceptor(new ResponseServer());
        httpProcessor.addInterceptor(new ResponseContent());
        httpProcessor.addInterceptor(new ResponseConnControl());

        // HTTP Attribute.
        HttpParams httpParams = new BasicHttpParams();
        httpParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, timeout)
                .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024)
                .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false)
                .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true)
                .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "WebServer/1.1");

        // Http?
        HttpRequestHandlerRegistry handlerRegistry = new HttpRequestHandlerRegistry();
        for (Map.Entry<String, AndServerRequestHandler> handlerEntry : mRequestHandlerMap.entrySet()) {
            handlerRegistry.register("/" + handlerEntry.getKey(),
                    new DefaultHttpRequestHandler(handlerEntry.getValue()));
        }

        // HTTP?
        HttpService httpService = new HttpService(httpProcessor, new DefaultConnectionReuseStrategy(),
                new DefaultHttpResponseFactory());
        httpService.setParams(httpParams);
        httpService.setHandlerResolver(handlerRegistry);

        /**
         * ?
         */
        while (isLoop) {
            // 
            if (!mServerSocket.isClosed()) {
                Socket socket = mServerSocket.accept();
                DefaultHttpServerConnection serverConnection = new DefaultHttpServerConnection();
                serverConnection.bind(socket, httpParams);

                // Dispatch request handler.
                RequestHandleTask requestTask = new RequestHandleTask(this, httpService, serverConnection);
                requestTask.setDaemon(true);
                AndWebUtil.executeRunnable(requestTask);
            }
        }
    } catch (Exception e) {
    } finally {
        close();
    }
}

From source file:org.cytoscape.app.internal.net.server.CyHttpdFactoryImpl.java

public CyHttpdImpl(final ServerSocketFactory serverSocketFactory) {
    if (serverSocketFactory == null)
        throw new IllegalArgumentException("serverSocketFactory == null");
    this.serverSocketFactory = serverSocketFactory;

    // Setup params

    params = (new SyncBasicHttpParams()).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");

    // Setup service

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

    final HttpRequestHandlerRegistry registry = new HttpRequestHandlerRegistry();
    registry.register("*", new RequestHandlerDispatcher());

    service = new HttpService(proc, new DefaultConnectionReuseStrategy(), new DefaultHttpResponseFactory(),
            registry, params);//from   w  w  w. j  av a 2 s.c o m
}

From source file:com.yanzhenjie.andserver.CoreThread.java

/**
 * Register handler.// w w w. j a  v  a  2  s  .c o m
 *
 * @return {@link HttpRequestHandlerResolver}.
 */
private HttpRequestHandlerResolver registerRequestHandler() {
    HttpRequestHandlerRegistry handlerRegistry = new HttpRequestHandlerRegistry();
    for (Map.Entry<String, RequestHandler> handler : mHandlerMap.entrySet()) {
        handlerRegistry.register(BasicWebsite.getHttpPath(handler.getKey()),
                new DefaultHttpRequestHandler(handler.getValue()));
    }

    Map<String, RequestHandler> websiteMap = new HashMap<>(3);
    mWebSite.onRegister(websiteMap);
    if (websiteMap.size() > 0) {
        for (Map.Entry<String, RequestHandler> handler : websiteMap.entrySet()) {
            handlerRegistry.register(BasicWebsite.getHttpPath(handler.getKey()),
                    new DefaultHttpRequestHandler(handler.getValue()));
        }
    }
    return handlerRegistry;
}

From source file:org.devtcg.rojocam.rtsp.AbstractRtspServer.java

public void run() {
    checkIsBound();//from  w  w w  .j av a  2  s. c  om
    if (mReqHandler == null) {
        throw new IllegalStateException("Request handler not set.");
    }

    while (!mShutdown) {
        try {
            Log.i(TAG, "run nao");
            Socket sock = mSocket.accept();
            RtspServerConnection conn = new RtspServerConnection();

            conn.bind(sock, mParams);

            BasicHttpProcessor processor = new BasicHttpProcessor();
            processor.addInterceptor(new ResponseContent());
            processor.addInterceptor(new ResponseHeaderEcho(RtspHeaders.CSEQ));
            processor.addInterceptor(new ResponseDate());
            processor.addInterceptor(new ResponseHeaderEcho(RtspHeaders.SESSION));

            HttpRequestHandlerRegistry reg = new HttpRequestHandlerRegistry();
            reg.register("*", mReqHandler);

            RtspService svc = new RtspService(processor, new RtspConnectionReuseStrategy(),
                    new DefaultHttpResponseFactory());

            svc.setParams(mParams);
            svc.setHandlerResolver(reg);

            WorkerThread worker = new WorkerThread(svc, conn);

            synchronized (mWorkers) {
                mWorkers.add(worker);
            }

            worker.setDaemon(true);
            worker.start();
        } catch (IOException e) {
            if (!mShutdown) {
                Log.e(TAG, "I/O error initializing connection thread", e);
            }
            break;
        }
    }
}

From source file:marytts.tools.perceptiontest.PerceptionTestHttpServer.java

public void run() {
    logger.info("Starting server.");
    System.out.println("Starting server....");
    //int localPort = MaryProperties.needInteger("socket.port");
    int localPort = serverPort;

    HttpParams params = new BasicHttpParams();
    params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 0) // 0 means no timeout, any positive value means time out in miliseconds (i.e. 50000 for 50 seconds)
            .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 handler = new BufferingHttpServiceHandler(httpproc,
            new DefaultHttpResponseFactory(), new DefaultConnectionReuseStrategy(), params);

    // Set up request handlers
    HttpRequestHandlerRegistry registry = new HttpRequestHandlerRegistry();
    //registry.register("/perceptionTest", new FileDataRequestHandler("perception.html"));
    //registry.register("/process", new FileDataRequestHandler("perception.html"));
    //registry.register("/perceptionTest", new UtterancePlayRequestHandler());

    DataRequestHandler infoRH = new DataRequestHandler(this.testXmlName);
    UserRatingStorer userRatingRH = new UserRatingStorer(this.userRatingsDirectory, infoRH);
    registry.register("/options", infoRH);
    registry.register("/queryStatement", infoRH);
    registry.register("/process", new UtterancePlayRequestHandler(infoRH));
    registry.register("/perceptionTest", new PerceptionRequestHandler(infoRH, userRatingRH));
    registry.register("/userRating", new StoreRatingRequestHandler(infoRH, userRatingRH));
    registry.register("*", new FileDataRequestHandler());

    handler.setHandlerResolver(registry);

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

    IOEventDispatch ioEventDispatch = new DefaultServerIOEventDispatch(handler, params);

    //int numParallelThreads = MaryProperties.getInteger("server.http.parallelthreads", 5);
    int numParallelThreads = 5;

    logger.info("Waiting for client to connect on port " + localPort);
    System.out.println("Waiting for client to connect on port " + localPort);

    try {//from   w w w. j  a  va 2s . c  o  m
        ListeningIOReactor ioReactor = new DefaultListeningIOReactor(numParallelThreads, params);
        ioReactor.listen(new InetSocketAddress(localPort));
        ioReactor.execute(ioEventDispatch);
    } catch (InterruptedIOException ex) {
        logger.info("Interrupted", ex);
        System.out.println("Interrupted" + ex.toString());
    } catch (IOException e) {
        logger.info("Problem with HTTP connection ", e);
        System.out.println("Problem with HTTP connection " + e.toString());
    }
    logger.debug("Shutdown");
    System.out.println("Shutdown");
}