Class HttpServerUpgradeHandler<C extends HttpContent<C>>

  • All Implemented Interfaces:
    ChannelHandler

    public class HttpServerUpgradeHandler<C extends HttpContent<C>>
    extends HttpObjectAggregator<C>
    A server-side handler that receives HTTP requests and optionally performs a protocol switch if the requested protocol is supported. Once an upgrade is performed, this handler removes itself from the pipeline.
    • Constructor Detail

      • HttpServerUpgradeHandler

        public HttpServerUpgradeHandler​(HttpServerUpgradeHandler.SourceCodec sourceCodec,
                                        HttpServerUpgradeHandler.UpgradeCodecFactory upgradeCodecFactory)
        Constructs the upgrader with the supported codecs.

        The handler instantiated by this constructor will reject an upgrade request with non-empty content. It should not be a concern because an upgrade request is most likely a GET request. If you have a client that sends a non-GET upgrade request, please consider using HttpServerUpgradeHandler(SourceCodec, UpgradeCodecFactory, int) to specify the maximum length of the content of an upgrade request.

        Parameters:
        sourceCodec - the codec that is being used initially
        upgradeCodecFactory - the factory that creates a new upgrade codec for one of the requested upgrade protocols
      • HttpServerUpgradeHandler

        public HttpServerUpgradeHandler​(HttpServerUpgradeHandler.SourceCodec sourceCodec,
                                        HttpServerUpgradeHandler.UpgradeCodecFactory upgradeCodecFactory,
                                        int maxContentLength)
        Constructs the upgrader with the supported codecs.
        Parameters:
        sourceCodec - the codec that is being used initially
        upgradeCodecFactory - the factory that creates a new upgrade codec for one of the requested upgrade protocols
        maxContentLength - the maximum length of the content of an upgrade request
      • HttpServerUpgradeHandler

        public HttpServerUpgradeHandler​(HttpServerUpgradeHandler.SourceCodec sourceCodec,
                                        HttpServerUpgradeHandler.UpgradeCodecFactory upgradeCodecFactory,
                                        int maxContentLength,
                                        boolean validateHeaders)
        Constructs the upgrader with the supported codecs.
        Parameters:
        sourceCodec - the codec that is being used initially
        upgradeCodecFactory - the factory that creates a new upgrade codec for one of the requested upgrade protocols
        maxContentLength - the maximum length of the content of an upgrade request
        validateHeaders - validate the header names and values of the upgrade response.
    • Method Detail

      • shouldHandleUpgradeRequest

        protected boolean shouldHandleUpgradeRequest​(HttpRequest req)
        Determines whether the specified upgrade HttpRequest should be handled by this handler or not. This method will be invoked only when the request contains an Upgrade header. It always returns true by default, which means any request with an Upgrade header will be handled. You can override this method to ignore certain Upgrade headers, for example:
        {@code