Search in sources :

Example 1 with ChannelConfigValue

use of com.netflix.netty.common.channel.config.ChannelConfigValue in project zuul by Netflix.

the class Http2OrHttpHandlerTest method swapInHttp2HandlerBasedOnALPN.

@Test
public void swapInHttp2HandlerBasedOnALPN() throws Exception {
    EmbeddedChannel channel = new EmbeddedChannel();
    final NoopRegistry registry = new NoopRegistry();
    final ChannelConfig channelConfig = new ChannelConfig();
    channelConfig.add(new ChannelConfigValue<>(CommonChannelConfigKeys.maxHttp2HeaderListSize, 32768));
    Http2ConnectionCloseHandler connectionCloseHandler = new Http2ConnectionCloseHandler(registry);
    Http2ConnectionExpiryHandler connectionExpiryHandler = new Http2ConnectionExpiryHandler(100, 100, 20 * 60 * 1000);
    Http2MetricsChannelHandlers http2MetricsChannelHandlers = new Http2MetricsChannelHandlers(registry, "server", "http2-443");
    final Http2OrHttpHandler http2OrHttpHandler = new Http2OrHttpHandler(new Http2StreamInitializer(channel, (x) -> {
    }, http2MetricsChannelHandlers, connectionCloseHandler, connectionExpiryHandler), channelConfig, cp -> {
    });
    channel.pipeline().addLast("codec_placeholder", new DummyChannelHandler());
    channel.pipeline().addLast(Http2OrHttpHandler.class.getSimpleName(), http2OrHttpHandler);
    http2OrHttpHandler.configurePipeline(channel.pipeline().lastContext(), ApplicationProtocolNames.HTTP_2);
    assertThat(channel.pipeline().get(Http2FrameCodec.class.getSimpleName() + "#0")).isInstanceOf(Http2FrameCodec.class);
    assertThat(channel.pipeline().get(BaseZuulChannelInitializer.HTTP_CODEC_HANDLER_NAME)).isInstanceOf(Http2MultiplexHandler.class);
    assertEquals("HTTP/2", channel.attr(Http2OrHttpHandler.PROTOCOL_NAME).get());
}
Also used : NoopRegistry(com.netflix.spectator.api.NoopRegistry) EmbeddedChannel(io.netty.channel.embedded.EmbeddedChannel) RunWith(org.junit.runner.RunWith) Http2FrameCodec(io.netty.handler.codec.http2.Http2FrameCodec) ChannelConfigValue(com.netflix.netty.common.channel.config.ChannelConfigValue) ApplicationProtocolNames(io.netty.handler.ssl.ApplicationProtocolNames) Test(org.junit.Test) JUnit4(org.junit.runners.JUnit4) Truth.assertThat(com.google.common.truth.Truth.assertThat) BaseZuulChannelInitializer(com.netflix.zuul.netty.server.BaseZuulChannelInitializer) CommonChannelConfigKeys(com.netflix.netty.common.channel.config.CommonChannelConfigKeys) Http2ConnectionExpiryHandler(com.netflix.netty.common.Http2ConnectionExpiryHandler) Http2MultiplexHandler(io.netty.handler.codec.http2.Http2MultiplexHandler) Http2ConnectionCloseHandler(com.netflix.netty.common.Http2ConnectionCloseHandler) ChannelConfig(com.netflix.netty.common.channel.config.ChannelConfig) Assert.assertEquals(org.junit.Assert.assertEquals) Http2MetricsChannelHandlers(com.netflix.netty.common.metrics.Http2MetricsChannelHandlers) ChannelConfig(com.netflix.netty.common.channel.config.ChannelConfig) NoopRegistry(com.netflix.spectator.api.NoopRegistry) Http2ConnectionExpiryHandler(com.netflix.netty.common.Http2ConnectionExpiryHandler) Http2MetricsChannelHandlers(com.netflix.netty.common.metrics.Http2MetricsChannelHandlers) EmbeddedChannel(io.netty.channel.embedded.EmbeddedChannel) Http2ConnectionCloseHandler(com.netflix.netty.common.Http2ConnectionCloseHandler) Test(org.junit.Test)

Aggregations

Truth.assertThat (com.google.common.truth.Truth.assertThat)1 Http2ConnectionCloseHandler (com.netflix.netty.common.Http2ConnectionCloseHandler)1 Http2ConnectionExpiryHandler (com.netflix.netty.common.Http2ConnectionExpiryHandler)1 ChannelConfig (com.netflix.netty.common.channel.config.ChannelConfig)1 ChannelConfigValue (com.netflix.netty.common.channel.config.ChannelConfigValue)1 CommonChannelConfigKeys (com.netflix.netty.common.channel.config.CommonChannelConfigKeys)1 Http2MetricsChannelHandlers (com.netflix.netty.common.metrics.Http2MetricsChannelHandlers)1 NoopRegistry (com.netflix.spectator.api.NoopRegistry)1 BaseZuulChannelInitializer (com.netflix.zuul.netty.server.BaseZuulChannelInitializer)1 EmbeddedChannel (io.netty.channel.embedded.EmbeddedChannel)1 Http2FrameCodec (io.netty.handler.codec.http2.Http2FrameCodec)1 Http2MultiplexHandler (io.netty.handler.codec.http2.Http2MultiplexHandler)1 ApplicationProtocolNames (io.netty.handler.ssl.ApplicationProtocolNames)1 Assert.assertEquals (org.junit.Assert.assertEquals)1 Test (org.junit.Test)1 RunWith (org.junit.runner.RunWith)1 JUnit4 (org.junit.runners.JUnit4)1