List of usage examples for io.netty.handler.codec.http2 Http2Headers remove
boolean remove(K name);
From source file:com.linecorp.armeria.internal.ArmeriaHttpUtil.java
License:Apache License
/** * Converts the specified Armeria HTTP/2 headers into Netty HTTP/2 headers. *///from w w w . ja v a 2 s .c om public static Http2Headers toNettyHttp2(HttpHeaders in) { final Http2Headers out = new DefaultHttp2Headers(false, in.size()); out.set(in); out.remove(HttpHeaderNames.CONNECTION); out.remove(HttpHeaderNames.TRANSFER_ENCODING); out.remove(HttpHeaderNames.TRAILER); if (!out.contains(HttpHeaderNames.COOKIE)) { return out; } // Split up cookies to allow for better compression. // https://tools.ietf.org/html/rfc7540#section-8.1.2.5 final List<CharSequence> cookies = out.getAllAndRemove(HttpHeaderNames.COOKIE); for (CharSequence c : cookies) { out.add(HttpHeaderNames.COOKIE, COOKIE_SPLITTER.split(c)); } return out; }
From source file:com.linecorp.armeria.internal.http.ArmeriaHttpUtil.java
License:Apache License
public static Http2Headers toNettyHttp2(HttpHeaders inputHeaders) { final Http2Headers outputHeaders = new DefaultHttp2Headers(false, inputHeaders.size()); outputHeaders.set(inputHeaders);//ww w .j a v a 2s . com outputHeaders.remove(HttpHeaderNames.TRANSFER_ENCODING); outputHeaders.remove(HttpHeaderNames.TRAILER); return outputHeaders; }
From source file:io.grpc.netty.NettyClientStreamTest.java
License:Apache License
@Test public void invalidInboundHeadersCancelStream() throws Exception { stream().transportState().setId(STREAM_ID); Http2Headers headers = grpcResponseHeaders(); headers.set("random", "4"); headers.remove(CONTENT_TYPE_HEADER); // Remove once b/16290036 is fixed. headers.status(new AsciiString("500")); stream().transportState().transportHeadersReceived(headers, false); verify(listener, never()).closed(any(Status.class), any(Metadata.class)); // We are now waiting for 100 bytes of error context on the stream, cancel has not yet been // sent/* w w w .java 2 s . c om*/ verify(channel, never()).writeAndFlush(any(CancelClientStreamCommand.class)); stream().transportState().transportDataReceived(Unpooled.buffer(100).writeZero(100), false); verify(channel, never()).writeAndFlush(any(CancelClientStreamCommand.class)); stream().transportState().transportDataReceived(Unpooled.buffer(1000).writeZero(1000), false); // Now verify that cancel is sent and an error is reported to the listener verify(writeQueue).enqueue(isA(CancelClientStreamCommand.class), eq(true)); ArgumentCaptor<Status> captor = ArgumentCaptor.forClass(Status.class); ArgumentCaptor<Metadata> metadataCaptor = ArgumentCaptor.forClass(Metadata.class); verify(listener).closed(captor.capture(), same(PROCESSED), metadataCaptor.capture()); assertEquals(Status.UNKNOWN.getCode(), captor.getValue().getCode()); assertEquals("4", metadataCaptor.getValue().get(Metadata.Key.of("random", Metadata.ASCII_STRING_MARSHALLER))); }
From source file:io.vertx.core.http.Http2ServerTest.java
License:Open Source License
@Test public void testPushPromiseNoAuthority() throws Exception { Http2Headers get = GET("/"); get.remove("authority"); testPushPromise(get, (resp, handler) -> { resp.push(HttpMethod.GET, "/wibble", handler); }, headers -> {//from w w w . j a va 2s . c om assertEquals("GET", headers.method().toString()); assertEquals("https", headers.scheme().toString()); assertEquals("/wibble", headers.path().toString()); assertEquals(DEFAULT_HTTPS_HOST_AND_PORT, headers.authority().toString()); }); }