Interface UpgradeResponse

All Known Implementing Classes:
ClientUpgradeResponse, ServletUpgradeResponse, ServletWebSocketResponse, UpgradeResponseAdapter

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

    • 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

      @Deprecated boolean isSuccess()
      Deprecated.
      this has no replacement, will be removed in Jetty 10
      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

      @Deprecated void setSuccess(boolean success)
      Deprecated.
      this has no replacement, will be removed in Jetty 10
      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