Package io.netty.handler.codec.http2
Class Http2ClientUpgradeCodec
java.lang.Object
io.netty.handler.codec.http2.Http2ClientUpgradeCodec
- All Implemented Interfaces:
HttpClientUpgradeHandler.UpgradeCodec
public class Http2ClientUpgradeCodec
extends Object
implements HttpClientUpgradeHandler.UpgradeCodec
Client-side cleartext upgrade codec from HTTP to HTTP/2.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Http2ConnectionHandler
private final String
private final ChannelHandler
private static final List
<CharSequence> private final ChannelHandler
-
Constructor Summary
ConstructorsModifierConstructorDescriptionHttp2ClientUpgradeCodec
(Http2ConnectionHandler connectionHandler) Creates the codec using a default name for the connection handler when adding to the pipeline.Http2ClientUpgradeCodec
(Http2ConnectionHandler connectionHandler, Http2MultiplexHandler http2MultiplexHandler) Creates the codec using a default name for the connection handler when adding to the pipeline.Http2ClientUpgradeCodec
(Http2FrameCodec frameCodec, ChannelHandler upgradeToHandler) Http2ClientUpgradeCodec
(String handlerName, Http2ConnectionHandler connectionHandler) Creates the codec providing an upgrade to the given handler for HTTP/2.private
Http2ClientUpgradeCodec
(String handlerName, Http2ConnectionHandler connectionHandler, ChannelHandler upgradeToHandler, Http2MultiplexHandler http2MultiplexHandler) Http2ClientUpgradeCodec
(String handlerName, Http2ConnectionHandler connectionHandler, Http2MultiplexHandler http2MultiplexHandler) Creates the codec providing an upgrade to the given handler for HTTP/2.Http2ClientUpgradeCodec
(String handlerName, Http2FrameCodec frameCodec, ChannelHandler upgradeToHandler) -
Method Summary
Modifier and TypeMethodDescriptionprivate CharSequence
Converts the current settings for the handler to the Base64-encoded representation used in the HTTP2-Settings upgrade header.protocol()
Returns the name of the protocol supported by this codec, as indicated by the'UPGRADE'
header.setUpgradeHeaders
(ChannelHandlerContext ctx, HttpRequest upgradeRequest) Sets any protocol-specific headers required to the upgrade request.void
upgradeTo
(ChannelHandlerContext ctx, FullHttpResponse upgradeResponse) Performs an HTTP protocol upgrade from the source codec.
-
Field Details
-
UPGRADE_HEADERS
-
handlerName
-
connectionHandler
-
upgradeToHandler
-
http2MultiplexHandler
-
-
Constructor Details
-
Http2ClientUpgradeCodec
-
Http2ClientUpgradeCodec
public Http2ClientUpgradeCodec(String handlerName, Http2FrameCodec frameCodec, ChannelHandler upgradeToHandler) -
Http2ClientUpgradeCodec
Creates the codec using a default name for the connection handler when adding to the pipeline.- Parameters:
connectionHandler
- the HTTP/2 connection handler
-
Http2ClientUpgradeCodec
public Http2ClientUpgradeCodec(Http2ConnectionHandler connectionHandler, Http2MultiplexHandler http2MultiplexHandler) Creates the codec using a default name for the connection handler when adding to the pipeline.- Parameters:
connectionHandler
- the HTTP/2 connection handlerhttp2MultiplexHandler
- the Http2 Multiplexer handler to work with Http2FrameCodec
-
Http2ClientUpgradeCodec
Creates the codec providing an upgrade to the given handler for HTTP/2.- Parameters:
handlerName
- the name of the HTTP/2 connection handler to be used in the pipeline, ornull
to auto-generate the nameconnectionHandler
- the HTTP/2 connection handler
-
Http2ClientUpgradeCodec
public Http2ClientUpgradeCodec(String handlerName, Http2ConnectionHandler connectionHandler, Http2MultiplexHandler http2MultiplexHandler) Creates the codec providing an upgrade to the given handler for HTTP/2.- Parameters:
handlerName
- the name of the HTTP/2 connection handler to be used in the pipeline, ornull
to auto-generate the nameconnectionHandler
- the HTTP/2 connection handler
-
Http2ClientUpgradeCodec
private Http2ClientUpgradeCodec(String handlerName, Http2ConnectionHandler connectionHandler, ChannelHandler upgradeToHandler, Http2MultiplexHandler http2MultiplexHandler)
-
-
Method Details
-
protocol
Description copied from interface:HttpClientUpgradeHandler.UpgradeCodec
Returns the name of the protocol supported by this codec, as indicated by the'UPGRADE'
header.- Specified by:
protocol
in interfaceHttpClientUpgradeHandler.UpgradeCodec
-
setUpgradeHeaders
public Collection<CharSequence> setUpgradeHeaders(ChannelHandlerContext ctx, HttpRequest upgradeRequest) Description copied from interface:HttpClientUpgradeHandler.UpgradeCodec
Sets any protocol-specific headers required to the upgrade request. Returns the names of all headers that were added. These headers will be used to populate the CONNECTION header.- Specified by:
setUpgradeHeaders
in interfaceHttpClientUpgradeHandler.UpgradeCodec
-
upgradeTo
Description copied from interface:HttpClientUpgradeHandler.UpgradeCodec
Performs an HTTP protocol upgrade from the source codec. This method is responsible for adding all handlers required for the new protocol.- Specified by:
upgradeTo
in interfaceHttpClientUpgradeHandler.UpgradeCodec
- Parameters:
ctx
- the context for the current handler.upgradeResponse
- the 101 Switching Protocols response that indicates that the server has switched to this protocol.- Throws:
Exception
-
getSettingsHeaderValue
Converts the current settings for the handler to the Base64-encoded representation used in the HTTP2-Settings upgrade header.
-