Example usage for io.netty.handler.codec.http EmptyHttpHeaders INSTANCE

List of usage examples for io.netty.handler.codec.http EmptyHttpHeaders INSTANCE

Introduction

In this page you can find the example usage for io.netty.handler.codec.http EmptyHttpHeaders INSTANCE.

Prototype

EmptyHttpHeaders INSTANCE

To view the source code for io.netty.handler.codec.http EmptyHttpHeaders INSTANCE.

Click Source Link

Usage

From source file:com.linecorp.armeria.client.http.SimpleHttpRequestBuilder.java

License:Apache License

private HttpHeaders headers() {
    if (headers == EmptyHttpHeaders.INSTANCE) {
        headers = new DefaultHttpHeaders();
    }
    return headers;
}

From source file:com.mobius.software.mqtt.performance.controller.net.WsClientBootstrap.java

License:Open Source License

@Override
public void init(SocketAddress serverAddress) throws InterruptedException {
    this.serverAddress = serverAddress;
    if (pipelineInitialized.compareAndSet(false, true)) {
        try {/*  w ww  .  ja  v a2 s.  c om*/
            InetSocketAddress remote = (InetSocketAddress) serverAddress;
            URI uri = new URI("ws://" + remote.getHostString() + ":" + remote.getPort() + "/ws");

            bootstrap.group(loopGroup);
            bootstrap.channel(NioSocketChannel.class);
            bootstrap.option(ChannelOption.TCP_NODELAY, true);
            bootstrap.option(ChannelOption.SO_KEEPALIVE, true);
            bootstrap.handler(new ChannelInitializer<SocketChannel>() {
                @Override
                protected void initChannel(SocketChannel socketChannel) throws Exception {
                    socketChannel.pipeline().addLast("http-codec", new HttpClientCodec());
                    socketChannel.pipeline().addLast("aggregator", new HttpObjectAggregator(65536));
                    socketChannel.pipeline().addLast("handler",
                            new WsClientHandler(
                                    WebSocketClientHandshakerFactory.newHandshaker(uri, WebSocketVersion.V13,
                                            null, false, EmptyHttpHeaders.INSTANCE, 1280000, true, true),
                                    clientListeners));
                    socketChannel.pipeline().addLast("compressor", WebSocketClientCompressionHandler.INSTANCE);
                    socketChannel.pipeline().addLast("exceptionHandler", exceptionHandler);
                }
            });
            bootstrap.remoteAddress(serverAddress);
        } catch (URISyntaxException e) {
            throw new InterruptedException(e.getMessage());
        }
    }
}

From source file:com.otcdlink.chiron.downend.Http11ProxyHandler.java

License:Apache License

@Override
protected Object newInitialMessage(ChannelHandlerContext ctx) throws Exception {
    InetSocketAddress raddr = destinationAddress();
    String rhost;/*w ww  .  j  a v  a  2 s . c o  m*/
    if (raddr.isUnresolved()) {
        rhost = raddr.getHostString();
    } else {
        rhost = raddr.getAddress().getHostAddress();
    }

    FullHttpRequest req = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.CONNECT,
            rhost + ':' + raddr.getPort(), Unpooled.EMPTY_BUFFER,
            new DefaultHttpHeaders().add(HttpHeaderNames.CONNECTION, HttpHeaderValues.KEEP_ALIVE).add(
                    HttpHeaderNames.PROXY_CONNECTION, HttpHeaderValues.KEEP_ALIVE),
            EmptyHttpHeaders.INSTANCE);

    SocketAddress proxyAddress = proxyAddress();
    if (proxyAddress instanceof InetSocketAddress) {
        InetSocketAddress hostAddr = (InetSocketAddress) proxyAddress;
        //            req.headers().set(HttpHeaderNames.HOST, hostAddr.getHostString() + ':' + hostAddr.getPort());
        req.headers().set(HttpHeaderNames.HOST, rhost + ':' + raddr.getPort());
    }

    if (authorization != null) {
        req.headers().set(HttpHeaderNames.PROXY_AUTHORIZATION, authorization);
    }

    return req;
}

From source file:io.gatling.http.client.impl.request.WritableRequestBuilder.java

License:Apache License

private static WritableRequest buildRequestWithoutBody(String url, HttpMethod method, HttpHeaders headers) {

    // force content-length to 0 when method usually takes a body, some servers might break otherwise
    if (!headers.contains(CONTENT_LENGTH) && (method == POST || method == PUT || method == PATCH)) {
        headers.set(CONTENT_LENGTH, 0);//from  w ww . ja  va2  s  .c  o m
    }

    FullHttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, method, url,
            Unpooled.buffer(0), headers, EmptyHttpHeaders.INSTANCE);

    return new WritableRequest(nettyRequest, null);
}

From source file:io.gatling.http.client.impl.request.WritableRequestBuilder.java

License:Apache License

private static WritableRequest buildRequestWithBody(String url, Uri uri, HttpMethod method, HttpHeaders headers,
        RequestBody<?> requestBody, ByteBufAllocator alloc, HttpClientConfig config) throws IOException {

    boolean zeroCopy = !uri.isSecured() && config.isEnableZeroCopy();
    WritableContent writableContent = requestBody.build(zeroCopy, alloc);

    Object content = writableContent.getContent();

    if (content instanceof ByteBuf) {
        ByteBuf bb = (ByteBuf) content;/*  ww w.  j a va 2s  .  c  o  m*/
        if (!headers.contains(CONTENT_LENGTH)) {
            headers.set(CONTENT_LENGTH, bb.readableBytes());
        }
        FullHttpRequest nettyRequest = new DefaultFullHttpRequest(HttpVersion.HTTP_1_1, method, url, bb,
                headers, EmptyHttpHeaders.INSTANCE);

        return new WritableRequest(nettyRequest, null);

    } else {
        if (!headers.contains(CONTENT_LENGTH) && !headers.contains(TRANSFER_ENCODING)) {
            if (writableContent.getContentLength() >= 0) {
                headers.set(CONTENT_LENGTH, writableContent.getContentLength());
            } else {
                headers.set(TRANSFER_ENCODING, HttpHeaderValues.CHUNKED);
            }
        }

        HttpRequest nettyRequest = new DefaultHttpRequest(HttpVersion.HTTP_1_1, method, url, headers);

        return new WritableRequest(nettyRequest, content);
    }
}

From source file:io.gatling.http.client.proxy.HttpProxyServer.java

License:Apache License

@Override
public ProxyHandler newHandler() {
    return realm != null
            ? new HttpProxyHandler(securedAddress, realm.getUsername(), realm.getPassword(),
                    EmptyHttpHeaders.INSTANCE, true)
            : new HttpProxyHandler(securedAddress, EmptyHttpHeaders.INSTANCE, true);
}

From source file:io.vertx.benchmarks.HeadersEncodeBenchmark.java

License:Open Source License

@Setup
public void setup() {
    byteBuf = Unpooled.buffer(1024);/*  ww w  . ja v  a  2  s  .c  o  m*/
    encoder = new PublicEncoder();
    emptyHeaders = EmptyHttpHeaders.INSTANCE;
    nettySmallHeaders = new DefaultHttpHeaders();
    vertxSmallHeaders = new VertxHttpHeaders();
    setBaseHeaders(nettySmallHeaders);
    setBaseHeaders(vertxSmallHeaders);
}

From source file:io.vertx.core.http.impl.WebSocketRequestHandler.java

License:Open Source License

/**
 * Handle the request once we have the full body.
 *//* ww  w.  j av  a  2  s  . c  om*/
private void handle(HttpServerRequestImpl req, Buffer body) {
    DefaultHttpRequest nettyReq = req.getRequest();
    nettyReq = new DefaultFullHttpRequest(nettyReq.protocolVersion(), nettyReq.method(), nettyReq.uri(),
            body.getByteBuf(), nettyReq.headers(), EmptyHttpHeaders.INSTANCE);
    req.setRequest(nettyReq);
    ServerWebSocketImpl ws = ((Http1xServerConnection) req.connection()).createWebSocket(req);
    if (METRICS_ENABLED && metrics != null) {
        ws.setMetric(metrics.connected(((Http1xServerConnection) req.connection()).metric(), ws));
    }
    if (handlers.wsHandler != null) {
        handlers.wsHandler.handle(ws);
        if (!ws.isRejected()) {
            ws.connectNow();
        } else {
            req.response().setStatusCode(ws.getRejectedStatus().code()).end();
        }
    } else {
        handlers.requestHandler.handle(req);
    }
}

From source file:org.asynchttpclient.extras.retrofit.AsyncHttpClientCallTest.java

License:Open Source License

@Test(dataProvider = "second")
void shouldInvokeConsumersOnEachExecution(Consumer<AsyncCompletionHandler<?>> handlerConsumer,
        int expectedStarted, int expectedOk, int expectedFailed) {
    // given// w  ww . j av a  2s. c om

    // counters
    val numStarted = new AtomicInteger();
    val numOk = new AtomicInteger();
    val numFailed = new AtomicInteger();
    val numRequestCustomizer = new AtomicInteger();

    // prepare http client mock
    val httpClient = mock(AsyncHttpClient.class);

    val mockRequest = mock(org.asynchttpclient.Request.class);
    when(mockRequest.getHeaders()).thenReturn(EmptyHttpHeaders.INSTANCE);

    val brb = new BoundRequestBuilder(httpClient, mockRequest);
    when(httpClient.prepareRequest((org.asynchttpclient.RequestBuilder) any())).thenReturn(brb);

    when(httpClient.executeRequest((org.asynchttpclient.Request) any(), any())).then(invocationOnMock -> {
        @SuppressWarnings("rawtypes")
        AsyncCompletionHandler<?> handler = invocationOnMock.getArgument(1);
        handlerConsumer.accept(handler);
        return null;
    });

    // create call instance
    val call = AsyncHttpClientCall.builder().httpClient(httpClient).request(REQUEST)
            .onRequestStart(e -> numStarted.incrementAndGet())
            .onRequestFailure(t -> numFailed.incrementAndGet()).onRequestSuccess(r -> numOk.incrementAndGet())
            .requestCustomizer(rb -> numRequestCustomizer.incrementAndGet()).executeTimeoutMillis(1000).build();

    // when
    Assert.assertFalse(call.isExecuted());
    Assert.assertFalse(call.isCanceled());
    try {
        call.execute();
    } catch (Exception e) {
    }

    // then
    assertTrue(call.isExecuted());
    Assert.assertFalse(call.isCanceled());
    assertTrue(numRequestCustomizer.get() == 1); // request customizer must be always invoked.
    assertTrue(numStarted.get() == expectedStarted);
    assertTrue(numOk.get() == expectedOk);
    assertTrue(numFailed.get() == expectedFailed);

    // try with non-blocking call
    numStarted.set(0);
    numOk.set(0);
    numFailed.set(0);
    val clonedCall = call.clone();

    // when
    clonedCall.enqueue(null);

    // then
    assertTrue(clonedCall.isExecuted());
    Assert.assertFalse(clonedCall.isCanceled());
    assertTrue(numRequestCustomizer.get() == 2); // request customizer must be always invoked.
    assertTrue(numStarted.get() == expectedStarted);
    assertTrue(numOk.get() == expectedOk);
    assertTrue(numFailed.get() == expectedFailed);
}

From source file:org.asynchttpclient.extras.retrofit.AsyncHttpClientCallTest.java

License:Open Source License

@DataProvider(name = "second")
Object[][] dataProviderSecond() {
    // mock response
    val response = mock(Response.class);
    when(response.getStatusCode()).thenReturn(200);
    when(response.getStatusText()).thenReturn("OK");
    when(response.getHeaders()).thenReturn(EmptyHttpHeaders.INSTANCE);

    Consumer<AsyncCompletionHandler<?>> okConsumer = handler -> {
        try {/*w  ww  . j a va  2 s.  c o  m*/
            handler.onCompleted(response);
        } catch (Exception e) {
        }
    };
    Consumer<AsyncCompletionHandler<?>> failedConsumer = handler -> handler
            .onThrowable(new TimeoutException("foo"));

    return new Object[][] { { okConsumer, 1, 1, 0 }, { failedConsumer, 1, 0, 1 } };
}