/** * Configure the pipeline for a cleartext upgrade from HTTP to HTTP/2. */ private void configureClearTextWithHttpUpgrade(SocketChannel ch) { HttpClientCodec sourceCodec = new HttpClientCodec(); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(connectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, 65536); ch.pipeline().addLast(sourceCodec, upgradeHandler, new UpgradeRequestHandler(), new UserEventLogger()); }
@Override public Collection<CharSequence> setUpgradeHeaders(ChannelHandlerContext ctx, HttpRequest upgradeRequest) { CharSequence settingsValue = getSettingsHeaderValue(ctx); upgradeRequest.headers().set(HTTP_UPGRADE_SETTINGS_HEADER, settingsValue); return UPGRADE_HEADERS; }
/** * Configure the pipeline for a cleartext upgrade from HTTP to HTTP/2. */ private void configureClearTextWithHttpUpgrade(SocketChannel ch) { HttpClientCodec sourceCodec = new HttpClientCodec(); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(connectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, 65536); ch.pipeline().addLast(sourceCodec, upgradeHandler, new UpgradeRequestHandler(), new UserEventLogger()); }
@Override public Collection<CharSequence> setUpgradeHeaders(ChannelHandlerContext ctx, HttpRequest upgradeRequest) { CharSequence settingsValue = getSettingsHeaderValue(ctx); upgradeRequest.headers().set(HTTP_UPGRADE_SETTINGS_HEADER, settingsValue); return UPGRADE_HEADERS; }
clientFactory.http1MaxChunkSize()); final Http2ClientUpgradeCodec http2ClientUpgradeCodec = new Http2ClientUpgradeCodec(http2Handler); final HttpClientUpgradeHandler http2UpgradeHandler = new HttpClientUpgradeHandler(
@Override public Collection<CharSequence> setUpgradeHeaders(ChannelHandlerContext ctx, HttpRequest upgradeRequest) { CharSequence settingsValue = getSettingsHeaderValue(ctx); upgradeRequest.headers().set(HTTP_UPGRADE_SETTINGS_HEADER, settingsValue); return UPGRADE_HEADERS; }
@Override public void initChannel(SocketChannel ch) throws Exception { final ChannelPipeline p = ch.pipeline(); final Http2Connection conn = new DefaultHttp2Connection(false); final HttpToHttp2ConnectionHandler connHandler = new HttpToHttp2ConnectionHandlerBuilder() .connection(conn) .frameListener(new DelegatingDecompressorFrameListener( conn, new InboundHttp2ToHttpAdapterBuilder(conn) .maxContentLength(Integer.MAX_VALUE) .propagateSettings(true).build())) .build(); clientHandler = new THttp2ClientHandler(ch.eventLoop()); if (sslCtx != null) { p.addLast(sslCtx.newHandler(p.channel().alloc())); p.addLast(connHandler); configureEndOfPipeline(p); } else { final Http1ClientCodec sourceCodec = new Http1ClientCodec(); final HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler( sourceCodec, new Http2ClientUpgradeCodec(connHandler), 65536); p.addLast(sourceCodec, upgradeHandler, new UpgradeRequestHandler()); } }
/** * Configure the pipeline for a cleartext upgrade from HTTP to HTTP/2. */ private void configureClearText(SocketChannel ch) { HttpClientCodec sourceCodec = new HttpClientCodec(); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(connectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, 65536); ch.pipeline().addLast("Http2SourceCodec", sourceCodec); ch.pipeline().addLast("Http2UpgradeHandler", upgradeHandler); ch.pipeline().addLast("Http2UpgradeRequestHandler", new UpgradeRequestHandler()); ch.pipeline().addLast("Logger", new UserEventLogger()); }
/** * Creates the pipeline for handing http2 upgrade. * * @param pipeline the client channel pipeline * @param sourceCodec the source codec handler * @param targetHandler the target handler */ private void configureHttp2UpgradePipeline(ChannelPipeline pipeline, HttpClientCodec sourceCodec, TargetHandler targetHandler) { pipeline.addLast(sourceCodec); addCommonHandlers(pipeline); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(http2ConnectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, Integer.MAX_VALUE); pipeline.addLast(Constants.HTTP2_UPGRADE_HANDLER, upgradeHandler); pipeline.addLast(Constants.TARGET_HANDLER, targetHandler); }
/** * Configure the pipeline for a cleartext upgrade from HTTP to HTTP/2. */ private void configureClearTextWithHttpUpgrade(SocketChannel ch) { HttpClientCodec sourceCodec = new HttpClientCodec(); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(connectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, 65536); ch.pipeline().addLast(sourceCodec, upgradeHandler, new UpgradeRequestHandler(), new UserEventLogger()); }
/** * Sets up HTTP/2 over TCP through protocol upgrade (h2c) pipeline */ private void configureHttpPipeline(Channel channel, Http2Connection connection) throws Exception { Http2StreamCodec http2Codec = new Http2StreamCodecBuilder() .connection(connection) .maxContentLength(_maxResponseSize) .gracefulShutdownTimeoutMillis(_gracefulShutdownTimeout) .build(); HttpClientCodec sourceCodec = new HttpClientCodec(MAX_INITIAL_LINE_LENGTH, _maxHeaderSize, _maxChunkSize); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(http2Codec); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler( sourceCodec, upgradeCodec, MAX_CLIENT_UPGRADE_CONTENT_LENGTH); Http2SchemeHandler schemeHandler = new Http2SchemeHandler(HttpScheme.HTTP.toString()); Http2UpgradeHandler upgradeRequestHandler = new Http2UpgradeHandler(); Http2StreamResponseHandler responseHandler = new Http2StreamResponseHandler(); channel.pipeline().addLast("sourceCodec", sourceCodec); channel.pipeline().addLast("upgradeHandler", upgradeHandler); channel.pipeline().addLast("upgradeRequestHandler", upgradeRequestHandler); channel.pipeline().addLast("schemeHandler", schemeHandler); channel.pipeline().addLast("responseHandler", responseHandler); }
/** * Configure the pipeline for a cleartext upgrade from HTTP to HTTP/2. */ private void configureClearText(SocketChannel ch) { HttpClientCodec sourceCodec = new HttpClientCodec(); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec(connectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(sourceCodec, upgradeCodec, maxContentLength); ch.pipeline().addLast(sourceCodec, upgradeHandler, new UpgradeRequestHandler(), new UserEventLogger()); }
try { NettyHttpToHttp2Handler connectionHandler = makeHttp2ConnectionHandler(); Http2ClientUpgradeCodec upgradeCodec = new Http2ClientUpgradeCodec( connectionHandler); HttpClientUpgradeHandler upgradeHandler = new HttpClientUpgradeHandler(