Interface UpgradeResponse


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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addHeader​(java.lang.String name, java.lang.String value)
      Add a header value to the response.
      java.lang.String getAcceptedSubProtocol()
      Get the accepted WebSocket protocol.
      java.util.List<ExtensionConfig> getExtensions()
      Get the list of extensions that should be used for the websocket.
      java.lang.String getHeader​(java.lang.String name)
      Get a header value
      java.util.Set<java.lang.String> getHeaderNames()
      Get the header names
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaders()
      Get the headers map
      java.util.List<java.lang.String> getHeaders​(java.lang.String name)
      Get the multi-value header value
      int getStatusCode()
      Get the HTTP Response Status Code
      java.lang.String getStatusReason()
      Get the HTTP Response Status Reason
      boolean isSuccess()
      Test if upgrade response is successful.
      void sendForbidden​(java.lang.String message)
      Issue a forbidden upgrade response.
      void setAcceptedSubProtocol​(java.lang.String protocol)
      Set the accepted WebSocket Protocol.
      void setExtensions​(java.util.List<ExtensionConfig> extensions)
      Set the list of extensions that are approved for use with this websocket.
      void setHeader​(java.lang.String name, java.lang.String value)
      Set a header
      void setStatusCode​(int statusCode)
      Set the HTTP Response status code
      void setStatusReason​(java.lang.String statusReason)
      Set the HTTP Response status reason phrase
      void setSuccess​(boolean success)
      Set the success of the upgrade response.
    • Method Detail

      • addHeader

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

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

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

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

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

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

        java.util.List<java.lang.String> getHeaders​(java.lang.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

        java.lang.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​(java.lang.String message)
                    throws java.io.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:
        java.io.IOException - if unable to send the forbidden
      • setAcceptedSubProtocol

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

        void setExtensions​(java.util.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​(java.lang.String name,
                       java.lang.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​(java.lang.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