Example usage for org.apache.http.impl.bootstrap HttpServer start

List of usage examples for org.apache.http.impl.bootstrap HttpServer start

Introduction

In this page you can find the example usage for org.apache.http.impl.bootstrap HttpServer start.

Prototype

public void start() throws IOException 

Source Link

Usage

From source file:onl.area51.httpd.HttpServerBuilder.java

static HttpServerBuilder builder() {
    return new HttpServerBuilder() {
        private final ServerBootstrap sb = ServerBootstrap.bootstrap();
        private long gracePeriod = 5;
        private TimeUnit gracePeriodUnit = TimeUnit.MINUTES;
        private HttpRequestHandlerBuilder globalHandler;

        @Override//from   w  w w  . j a va  2 s .  com
        public HttpServerBuilder shutdown(long gracePeriod, TimeUnit gracePeriodUnit) {
            if (gracePeriod < 1 || gracePeriodUnit == null) {
                throw new IllegalArgumentException("Invalid GracePeriod");
            }
            this.gracePeriod = gracePeriod;
            this.gracePeriodUnit = gracePeriodUnit;
            return this;
        }

        @Override
        public HttpServerBuilder setListenerPort(int listenerPort) {
            sb.setListenerPort(listenerPort);
            return this;
        }

        @Override
        public HttpServerBuilder setLocalAddress(InetAddress localAddress) {
            sb.setLocalAddress(localAddress);
            return this;
        }

        @Override
        public HttpServerBuilder setSocketConfig(SocketConfig socketConfig) {
            sb.setSocketConfig(socketConfig);
            return this;
        }

        @Override
        public HttpServerBuilder setConnectionConfig(ConnectionConfig connectionConfig) {
            sb.setConnectionConfig(connectionConfig);
            return this;
        }

        @Override
        public HttpServerBuilder setHttpProcessor(HttpProcessor httpProcessor) {
            sb.setHttpProcessor(httpProcessor);
            return this;
        }

        @Override
        public HttpServerBuilder addInterceptorFirst(HttpResponseInterceptor itcp) {
            sb.addInterceptorFirst(itcp);
            return this;
        }

        @Override
        public HttpServerBuilder addInterceptorLast(HttpResponseInterceptor itcp) {
            sb.addInterceptorLast(itcp);
            return this;
        }

        @Override
        public HttpServerBuilder addInterceptorFirst(HttpRequestInterceptor itcp) {
            sb.addInterceptorFirst(itcp);
            return this;
        }

        @Override
        public HttpServerBuilder addInterceptorLast(HttpRequestInterceptor itcp) {
            sb.addInterceptorLast(itcp);
            return this;
        }

        @Override
        public HttpServerBuilder setServerInfo(String serverInfo) {
            sb.setServerInfo(serverInfo);
            return this;
        }

        @Override
        public HttpServerBuilder setConnectionReuseStrategy(ConnectionReuseStrategy connStrategy) {
            sb.setConnectionReuseStrategy(connStrategy);
            return this;
        }

        @Override
        public HttpServerBuilder setResponseFactory(HttpResponseFactory responseFactory) {
            sb.setResponseFactory(responseFactory);
            return this;
        }

        @Override
        public HttpServerBuilder setHandlerMapper(HttpRequestHandlerMapper handlerMapper) {
            sb.setHandlerMapper(handlerMapper);
            return this;
        }

        @Override
        public HttpServerBuilder registerHandler(String pattern, HttpRequestHandler handler) {
            sb.registerHandler(pattern, handler);
            return this;
        }

        @Override
        public HttpServerBuilder setExpectationVerifier(HttpExpectationVerifier expectationVerifier) {
            sb.setExpectationVerifier(expectationVerifier);
            return this;
        }

        @Override
        public HttpServerBuilder setConnectionFactory(
                HttpConnectionFactory<? extends DefaultBHttpServerConnection> connectionFactory) {
            sb.setConnectionFactory(connectionFactory);
            return this;
        }

        @Override
        public HttpServerBuilder setSslSetupHandler(SSLServerSetupHandler sslSetupHandler) {
            sb.setSslSetupHandler(sslSetupHandler);
            return this;
        }

        @Override
        public HttpServerBuilder setServerSocketFactory(ServerSocketFactory serverSocketFactory) {
            sb.setServerSocketFactory(serverSocketFactory);
            return this;
        }

        @Override
        public HttpServerBuilder setSslContext(SSLContext sslContext) {
            sb.setSslContext(sslContext);
            return this;
        }

        @Override
        public HttpServerBuilder setExceptionLogger(ExceptionLogger exceptionLogger, boolean filter) {
            sb.setExceptionLogger(filter ? ex -> {
                if (!(ex instanceof SocketTimeoutException) && !(ex instanceof ConnectionClosedException)
                        && !(ex instanceof SocketException)) {
                    exceptionLogger.log(ex);
                }
            } : exceptionLogger);
            return this;
        }

        @Override
        public HttpRequestHandlerBuilder getGlobalHandlerBuilder() {
            if (globalHandler == null) {
                globalHandler = HttpRequestHandlerBuilder.create();
            }
            return globalHandler;
        }

        @Override
        public HttpServer build() {
            if (globalHandler != null) {
                sb.registerHandler("/*", globalHandler.build());
            }

            org.apache.http.impl.bootstrap.HttpServer server = sb.create();
            return new HttpServer() {
                @Override
                public void start() throws IOException {
                    server.start();
                }

                @Override
                public void stop() {
                    server.shutdown(gracePeriod, gracePeriodUnit);
                }
            };
        }

    };
}

From source file:org.apache.servicecomb.demo.springmvc.server.DownloadSchema.java

public DownloadSchema() throws IOException {
    FileUtils.deleteQuietly(tempDir);/*from  www  .j a  v  a  2 s  . c o m*/
    FileUtils.forceMkdir(tempDir);

    // for download from net stream case
    HttpServer server = ServerBootstrap.bootstrap().setListenerPort(9000)
            .registerHandler("/download/netInputStream", (req, resp, context) -> {
                String uri = req.getRequestLine().getUri();
                String query = URI.create(uri).getQuery();
                int idx = query.indexOf('=');
                String content = query.substring(idx + 1);
                content = URLDecoder.decode(content, StandardCharsets.UTF_8.name());
                resp.setEntity(new StringEntity(content, StandardCharsets.UTF_8.name()));
            }).create();
    server.start();
}