Interface UpgradeResponse


  • public interface UpgradeResponse
    The HTTP Upgrade to WebSocket Response
    • Method Detail

      • addHeader

        void addHeader​(String name,
                       String value)
        Add a header value to the response.
        Parameters:
        name - the header name
        value - the header value
      • getAcceptedSubProtocol

        String getAcceptedSubProtocol()
        Get the accepted WebSocket protocol.
        Returns:
        the accepted WebSocket protocol.
      • getExtensions

        List<ExtensionConfig> getExtensions()
        Get the list of extensions that should be used for the websocket.
        Returns:
        the list of negotiated extensions to use.
      • getHeader

        String getHeader​(String name)
        Get a header value
        Parameters:
        name - the header name
        Returns:
        the value (null if header doesn't exist)
      • getHeaderNames

        Set<String> getHeaderNames()
        Get the header names
        Returns:
        the set of header names
      • getHeaders

        Map<String,​List<String>> getHeaders()
        Get the headers map
        Returns:
        the map of headers
      • getHeaders

        List<String> getHeaders​(String name)
        Get the multi-value header value
        Parameters:
        name - the header name
        Returns:
        the list of values (null if header doesn't exist)
      • getStatusCode

        int getStatusCode()
        Get the HTTP Response Status Code
        Returns:
        the status code
      • getStatusReason

        String getStatusReason()
        Get the HTTP Response Status Reason
        Returns:
        the HTTP Response status reason
      • isSuccess

        boolean isSuccess()
        Test if upgrade response is successful.

        Merely notes if the response was sent as a WebSocket Upgrade, or was failed (resulting in no upgrade handshake)

        Returns:
        true if upgrade response was generated, false if no upgrade response was generated
      • sendForbidden

        void sendForbidden​(String message)
                    throws IOException
        Issue a forbidden upgrade response.

        This means that the websocket endpoint was valid, but the conditions to use a WebSocket resulted in a forbidden access.

        Use this when the origin or authentication is invalid.

        Parameters:
        message - the short 1 line detail message about the forbidden response
        Throws:
        IOException - if unable to send the forbidden
      • setAcceptedSubProtocol

        void setAcceptedSubProtocol​(String protocol)
        Set the accepted WebSocket Protocol.
        Parameters:
        protocol - the protocol to list as accepted
      • setExtensions

        void setExtensions​(List<ExtensionConfig> extensions)
        Set the list of extensions that are approved for use with this websocket.

        Notes:

        • Per the spec you cannot add extensions that have not been seen in the UpgradeRequest, just remove entries you don't want to use
        • If this is unused, or a null is passed, then the list negotiation will follow default behavior and use the complete list of extensions that are available in this WebSocket server implementation.
        Parameters:
        extensions - the list of extensions to use.
      • setHeader

        void setHeader​(String name,
                       String value)
        Set a header

        Overrides previous value of header (if set)

        Parameters:
        name - the header name
        value - the header value
      • setStatusCode

        void setStatusCode​(int statusCode)
        Set the HTTP Response status code
        Parameters:
        statusCode - the status code
      • setStatusReason

        void setStatusReason​(String statusReason)
        Set the HTTP Response status reason phrase

        Note, not all implementation of UpgradeResponse can support this feature

        Parameters:
        statusReason - the status reason phrase
      • setSuccess

        void setSuccess​(boolean success)
        Set the success of the upgrade response.

        Parameters:
        success - true to indicate a response to the upgrade handshake was sent, false to indicate no upgrade response was sent