Http2OrHttpHandler Class — netty Architecture
Architecture documentation for the Http2OrHttpHandler class in Http2OrHttpHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 7669a10d_56a3_ef47_26ed_a6c191afc22a["Http2OrHttpHandler"] 71b74ecd_6a30_f662_627c_6d148a1600a3["Http2OrHttpHandler.java"] 7669a10d_56a3_ef47_26ed_a6c191afc22a -->|defined in| 71b74ecd_6a30_f662_627c_6d148a1600a3 42de1989_a620_dd14_854d_598dd61d2b82["Http2OrHttpHandler()"] 7669a10d_56a3_ef47_26ed_a6c191afc22a -->|method| 42de1989_a620_dd14_854d_598dd61d2b82 03be05a7_3811_0be5_4bb0_2e03b48eaff4["configurePipeline()"] 7669a10d_56a3_ef47_26ed_a6c191afc22a -->|method| 03be05a7_3811_0be5_4bb0_2e03b48eaff4 0311c76b_e4c8_a854_debb_a204d3b27141["configureHttp2()"] 7669a10d_56a3_ef47_26ed_a6c191afc22a -->|method| 0311c76b_e4c8_a854_debb_a204d3b27141 98da28da_a409_4639_01a1_38e9c8fd346f["configureHttp1()"] 7669a10d_56a3_ef47_26ed_a6c191afc22a -->|method| 98da28da_a409_4639_01a1_38e9c8fd346f
Relationship Graph
Source Code
example/src/main/java/io/netty/example/http2/tiles/Http2OrHttpHandler.java lines 33–75
public class Http2OrHttpHandler extends ApplicationProtocolNegotiationHandler {
private static final int MAX_CONTENT_LENGTH = 1024 * 100;
protected Http2OrHttpHandler() {
super(ApplicationProtocolNames.HTTP_1_1);
}
@Override
protected void configurePipeline(ChannelHandlerContext ctx, String protocol) throws Exception {
if (ApplicationProtocolNames.HTTP_2.equals(protocol)) {
configureHttp2(ctx);
return;
}
if (ApplicationProtocolNames.HTTP_1_1.equals(protocol)) {
configureHttp1(ctx);
return;
}
throw new IllegalStateException("unknown protocol: " + protocol);
}
private static void configureHttp2(ChannelHandlerContext ctx) {
DefaultHttp2Connection connection = new DefaultHttp2Connection(true);
InboundHttp2ToHttpAdapter listener = new InboundHttp2ToHttpAdapterBuilder(connection)
.propagateSettings(true).validateHttpHeaders(false)
.maxContentLength(MAX_CONTENT_LENGTH).build();
ctx.pipeline().addLast(new HttpToHttp2ConnectionHandlerBuilder()
.frameListener(listener)
// .frameLogger(TilesHttp2ToHttpHandler.logger)
.connection(connection).build());
ctx.pipeline().addLast(new Http2RequestHandler());
}
private static void configureHttp1(ChannelHandlerContext ctx) throws Exception {
ctx.pipeline().addLast(new HttpServerCodec(),
new HttpObjectAggregator(MAX_CONTENT_LENGTH),
new FallbackRequestHandler());
}
}
Source
Frequently Asked Questions
What is the Http2OrHttpHandler class?
Http2OrHttpHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/http2/tiles/Http2OrHttpHandler.java.
Where is Http2OrHttpHandler defined?
Http2OrHttpHandler is defined in example/src/main/java/io/netty/example/http2/tiles/Http2OrHttpHandler.java at line 33.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free