Class WsServerContainer

    • Method Detail

      • doUpgrade

        public void doUpgrade​(HttpServletRequest request,
                              HttpServletResponse response,
                              ServerEndpointConfig sec,
                              java.util.Map<java.lang.String,​java.lang.String> pathParams)
                       throws ServletException,
        This method will be removed in Apache Tomcat 10.1 onwards. It has been replaced by upgradeHttpToWebSocket(Object, Object, ServerEndpointConfig, Map)
        Until the WebSocket specification provides such a mechanism, this Tomcat proprietary method is provided to enable applications to programmatically determine whether or not to upgrade an individual request to WebSocket.

        Note: This method is not used by Tomcat but is used directly by third-party code and must not be removed.

        request - The request object to be upgraded
        response - The response object to be populated with the result of the upgrade
        sec - The server endpoint to use to process the upgrade request
        pathParams - The path parameters associated with the upgrade request
        ServletException - If a configuration error prevents the upgrade from taking place - If an I/O error occurs during the upgrade process
      • upgradeHttpToWebSocket

        public void upgradeHttpToWebSocket​(java.lang.Object httpServletRequest,
                                           java.lang.Object httpServletResponse,
                                           ServerEndpointConfig sec,
                                           java.util.Map<java.lang.String,​java.lang.String> pathParameters)
        Upgrade the HTTP connection represented by the HttpServletRequest and HttpServletResponse to the WebSocket protocol and establish a WebSocket connection as per the provided ServerEndpointConfig.

        This method is primarily intended to be used by frameworks that implement the front-controller pattern. It does not deploy the provided endpoint.

        If the WebSocket implementation is not deployed as part of a Jakarta Servlet container, this method will throw an UnsupportedOperationException.

        This method will be part of the Jakarta WebSocket API from version 2.1

        httpServletRequest - The HttpServletRequest to be processed as a WebSocket handshake as per section 4.0 of RFC 6455.
        httpServletResponse - The HttpServletResponse to be used when processing the httpServletRequest as a WebSocket handshake as per section 4.0 of RFC 6455.
        sec - The server endpoint configuration to use to configure the WebSocket endpoint
        pathParameters - Provides a mapping of path parameter names and values, if any, to be used for the WebSocket connection established by the call to this method. If no such mapping is defined, an empty Map must be passed.
        java.lang.IllegalStateException - if the provided request does not meet the requirements of the WebSocket handshake
        java.lang.UnsupportedOperationException - if the WebSocket implementation is not deployed as part of a Jakarta Servlet container - if an I/O error occurs during the establishment of a WebSocket connection
        DeploymentException - if a configuration error prevents the establishment of a WebSocket connection
      • findMapping

        public org.apache.tomcat.websocket.server.WsMappingResult findMapping​(java.lang.String path)
      • isEnforceNoAddAfterHandshake

        public boolean isEnforceNoAddAfterHandshake()
      • setEnforceNoAddAfterHandshake

        public void setEnforceNoAddAfterHandshake​(boolean enforceNoAddAfterHandshake)
      • registerSession

        protected void registerSession​(java.lang.Object key,
                                       WsSession wsSession)
        Overridden to make it visible to other classes in this package.
        registerSession in class WsWebSocketContainer
      • closeAuthenticatedSession

        public void closeAuthenticatedSession​(java.lang.String httpSessionId)