Interface UpgradeRequest

    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void addExtensions​(java.lang.String... configs)
      Add WebSocket Extension Configuration(s) to request
      void addExtensions​(ExtensionConfig... configs)
      Add WebSocket Extension Configuration(s) to Upgrade Request.
      void clearHeaders()
      Deprecated.
      (no longer supported, as this can undo the required upgrade request headers)
      java.util.List<java.net.HttpCookie> getCookies()
      Get the list of Cookies on the Upgrade request
      java.util.List<ExtensionConfig> getExtensions()
      Get the list of WebSocket Extension Configurations for this Upgrade Request.
      java.lang.String getHeader​(java.lang.String name)
      Get a specific Header value from Upgrade Request
      int getHeaderInt​(java.lang.String name)
      Get the specific Header value, as an int, from the Upgrade Request.
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaders()
      Get the headers as a Map of keys to value lists.
      java.util.List<java.lang.String> getHeaders​(java.lang.String name)
      Get the specific header values (for multi-value headers)
      java.lang.String getHost()
      The host of the Upgrade Request URI
      java.lang.String getHttpVersion()
      The HTTP version used for this Upgrade Request
      java.lang.String getMethod()
      The HTTP method for this Upgrade Request.
      java.lang.String getOrigin()
      The WebSocket Origin of this Upgrade Request
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameterMap()
      Returns a map of the query parameters of the request.
      java.lang.String getProtocolVersion()
      Get the WebSocket Protocol Version
      java.lang.String getQueryString()
      Get the Query String of the request URI.
      java.net.URI getRequestURI()
      Get the Request URI
      java.lang.Object getSession()
      Access the Servlet HTTP Session (if present)
      java.util.List<java.lang.String> getSubProtocols()
      Get the list of offered WebSocket sub-protocols.
      java.security.Principal getUserPrincipal()
      Get the User Principal for this request.
      boolean hasSubProtocol​(java.lang.String test)
      Test if a specific sub-protocol is offered
      boolean isOrigin​(java.lang.String test)
      Test if supplied Origin is the same as the Request
      boolean isSecure()
      Test if connection is secure.
      void setCookies​(java.util.List<java.net.HttpCookie> cookies)
      Set the list of Cookies on the request
      void setExtensions​(java.util.List<ExtensionConfig> configs)
      Set the list of WebSocket Extension configurations on the request.
      void setHeader​(java.lang.String name, java.lang.String value)
      Set a specific header value
      void setHeader​(java.lang.String name, java.util.List<java.lang.String> values)
      Set a specific header with multi-value field
      void setHeaders​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headers)
      Sets multiple headers on the request.
      void setHttpVersion​(java.lang.String httpVersion)
      Set the HTTP Version to use.
      void setMethod​(java.lang.String method)
      Set the HTTP method to use.
      void setRequestURI​(java.net.URI uri)
      Set the Request URI to use for this request.
      void setSession​(java.lang.Object session)
      Set the Session associated with this request.
      void setSubProtocols​(java.lang.String... protocols)
      Set the offered WebSocket Sub-Protocol list.
      void setSubProtocols​(java.util.List<java.lang.String> protocols)
      Set the offered WebSocket Sub-Protocol list.
    • Method Detail

      • addExtensions

        void addExtensions​(ExtensionConfig... configs)
        Add WebSocket Extension Configuration(s) to Upgrade Request.

        This is merely the list of requested Extensions to use, see UpgradeResponse.getExtensions() for what was negotiated

        Parameters:
        configs - the configuration(s) to add
      • addExtensions

        void addExtensions​(java.lang.String... configs)
        Add WebSocket Extension Configuration(s) to request

        This is merely the list of requested Extensions to use, see UpgradeResponse.getExtensions() for what was negotiated

        Parameters:
        configs - the configuration(s) to add
      • clearHeaders

        @Deprecated
        void clearHeaders()
        Deprecated.
        (no longer supported, as this can undo the required upgrade request headers)
        Remove all headers from request.
      • getCookies

        java.util.List<java.net.HttpCookie> getCookies()
        Get the list of Cookies on the Upgrade request
        Returns:
        the list of Cookies
      • getExtensions

        java.util.List<ExtensionConfig> getExtensions()
        Get the list of WebSocket Extension Configurations for this Upgrade Request.

        This is merely the list of requested Extensions to use, see UpgradeResponse.getExtensions() for what was negotiated

        Returns:
        the list of Extension configurations (in the order they were specified)
      • getHeader

        java.lang.String getHeader​(java.lang.String name)
        Get a specific Header value from Upgrade Request
        Parameters:
        name - the name of the header
        Returns:
        the value of the header (null if header does not exist)
      • getHeaderInt

        int getHeaderInt​(java.lang.String name)
        Get the specific Header value, as an int, from the Upgrade Request.
        Parameters:
        name - the name of the header
        Returns:
        the value of the header as an int (-1 if header does not exist)
        Throws:
        java.lang.NumberFormatException - if unable to parse value as an int.
      • getHeaders

        java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaders()
        Get the headers as a Map of keys to value lists.
        Returns:
        the headers
      • getHeaders

        java.util.List<java.lang.String> getHeaders​(java.lang.String name)
        Get the specific header values (for multi-value headers)
        Parameters:
        name - the header name
        Returns:
        the value list (null if no header exists)
      • getHost

        java.lang.String getHost()
        The host of the Upgrade Request URI
        Returns:
        host of the request URI
      • getHttpVersion

        java.lang.String getHttpVersion()
        The HTTP version used for this Upgrade Request

        As of RFC6455 (December 2011) this is always HTTP/1.1

        Returns:
        the HTTP Version used
      • getMethod

        java.lang.String getMethod()
        The HTTP method for this Upgrade Request.

        As of RFC6455 (December 2011) this is always GET

        Returns:
        the HTTP method used
      • getOrigin

        java.lang.String getOrigin()
        The WebSocket Origin of this Upgrade Request

        See RFC6455: Section 10.2 for details.

        Equivalent to getHeader(String) passed the "Origin" header.

        Returns:
        the Origin header
      • getParameterMap

        java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameterMap()
        Returns a map of the query parameters of the request.
        Returns:
        a unmodifiable map of query parameters of the request.
      • getProtocolVersion

        java.lang.String getProtocolVersion()
        Get the WebSocket Protocol Version

        As of RFC6455, Jetty only supports version 13

        Returns:
        the WebSocket protocol version
      • getQueryString

        java.lang.String getQueryString()
        Get the Query String of the request URI.
        Returns:
        the request uri query string
      • getRequestURI

        java.net.URI getRequestURI()
        Get the Request URI
        Returns:
        the request URI
      • getSession

        java.lang.Object getSession()
        Access the Servlet HTTP Session (if present)

        Note: Never present on a Client UpgradeRequest.

        Returns:
        the Servlet HTTPSession on server side UpgradeRequests
      • getSubProtocols

        java.util.List<java.lang.String> getSubProtocols()
        Get the list of offered WebSocket sub-protocols.
        Returns:
        the list of offered sub-protocols
      • getUserPrincipal

        java.security.Principal getUserPrincipal()
        Get the User Principal for this request.

        Only applicable when using UpgradeRequest from server side.

        Returns:
        the user principal
      • hasSubProtocol

        boolean hasSubProtocol​(java.lang.String test)
        Test if a specific sub-protocol is offered
        Parameters:
        test - the sub-protocol to test for
        Returns:
        true if sub-protocol exists on request
      • isOrigin

        boolean isOrigin​(java.lang.String test)
        Test if supplied Origin is the same as the Request
        Parameters:
        test - the supplied origin
        Returns:
        true if the supplied origin matches the request origin
      • isSecure

        boolean isSecure()
        Test if connection is secure.
        Returns:
        true if connection is secure.
      • setCookies

        void setCookies​(java.util.List<java.net.HttpCookie> cookies)
        Set the list of Cookies on the request
        Parameters:
        cookies - the cookies to use
      • setExtensions

        void setExtensions​(java.util.List<ExtensionConfig> configs)
        Set the list of WebSocket Extension configurations on the request.
        Parameters:
        configs - the list of extension configurations
      • setHeader

        void setHeader​(java.lang.String name,
                       java.util.List<java.lang.String> values)
        Set a specific header with multi-value field

        Overrides any previous value for this named header

        Parameters:
        name - the name of the header
        values - the multi-value field
      • setHeader

        void setHeader​(java.lang.String name,
                       java.lang.String value)
        Set a specific header value

        Overrides any previous value for this named header

        Parameters:
        name - the header to set
        value - the value to set it to
      • setHeaders

        void setHeaders​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headers)
        Sets multiple headers on the request.

        Only sets those headers provided, does not remove headers that exist on request and are not provided in the parameter for this method.

        Convenience method vs calling setHeader(String, List) multiple times.

        Parameters:
        headers - the headers to set
      • setHttpVersion

        void setHttpVersion​(java.lang.String httpVersion)
        Set the HTTP Version to use.

        As of RFC6455 (December 2011) this should always be HTTP/1.1

        Parameters:
        httpVersion - the HTTP version to use.
      • setMethod

        void setMethod​(java.lang.String method)
        Set the HTTP method to use.

        As of RFC6455 (December 2011) this is always GET

        Parameters:
        method - the HTTP method to use.
      • setRequestURI

        void setRequestURI​(java.net.URI uri)
        Set the Request URI to use for this request.

        Must be an absolute URI with scheme 'ws' or 'wss'

        Parameters:
        uri - the Request URI
      • setSession

        void setSession​(java.lang.Object session)
        Set the Session associated with this request.

        Typically used to associate the Servlet HttpSession object.

        Parameters:
        session - the session object to associate with this request
      • setSubProtocols

        void setSubProtocols​(java.util.List<java.lang.String> protocols)
        Set the offered WebSocket Sub-Protocol list.
        Parameters:
        protocols - the offered sub-protocol list
      • setSubProtocols

        void setSubProtocols​(java.lang.String... protocols)
        Set the offered WebSocket Sub-Protocol list.
        Parameters:
        protocols - the offered sub-protocol list