Class ServletUpgradeRequest

    • Constructor Summary

      Constructors 
      Constructor Description
      ServletUpgradeRequest​(javax.servlet.http.HttpServletRequest httpRequest)  
    • Method Summary

      All Methods Instance Methods Concrete 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()
      Remove all headers from request.
      void complete()  
      java.security.cert.X509Certificate[] getCertificates()  
      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
      javax.servlet.http.HttpServletRequest getHttpServletRequest()
      Return the underlying HttpServletRequest that existed at Upgrade time.
      java.lang.String getHttpVersion()
      The HTTP version used for this Upgrade Request
      java.lang.String getLocalAddress()
      Equivalent to ServletRequest.getLocalAddr()
      java.util.Locale getLocale()
      Equivalent to ServletRequest.getLocale()
      java.util.Enumeration<java.util.Locale> getLocales()
      Equivalent to ServletRequest.getLocales()
      java.lang.String getLocalHostName()
      Equivalent to ServletRequest.getLocalName()
      int getLocalPort()
      Equivalent to ServletRequest.getLocalPort()
      java.net.InetSocketAddress getLocalSocketAddress()
      Return a InetSocketAddress for the local socket.
      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.security.Principal getPrincipal()
      Deprecated.
      use getUserPrincipal() instead
      java.lang.String getProtocolVersion()
      Get the WebSocket Protocol Version
      java.lang.String getQueryString()
      Get the Query String of the request URI.
      java.lang.String getRemoteAddress()
      Equivalent to ServletRequest.getRemoteAddr()
      java.lang.String getRemoteHostName()
      Equivalent to ServletRequest.getRemoteHost()
      int getRemotePort()
      Equivalent to ServletRequest.getRemotePort()
      java.net.InetSocketAddress getRemoteSocketAddress()
      Return a InetSocketAddress for the remote socket.
      java.lang.String getRequestPath()  
      java.net.URI getRequestURI()
      Get the Request URI
      java.lang.Object getServletAttribute​(java.lang.String name)  
      java.util.Map<java.lang.String,​java.lang.Object> getServletAttributes()  
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getServletParameters()  
      javax.servlet.http.HttpSession getSession()
      Return the HttpSession if it exists.
      java.util.List<java.lang.String> getSubProtocols()
      Get the list of offered WebSocket sub-protocols.
      java.security.Principal getUserPrincipal()
      Equivalent to HttpServletRequest.getUserPrincipal()
      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.
      boolean isUserInRole​(java.lang.String role)  
      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 setServletAttribute​(java.lang.String name, java.lang.Object value)  
      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> subProtocols)
      Set the offered WebSocket Sub-Protocol list.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ServletUpgradeRequest

        public ServletUpgradeRequest​(javax.servlet.http.HttpServletRequest httpRequest)
                              throws java.net.URISyntaxException
        Throws:
        java.net.URISyntaxException
    • Method Detail

      • addExtensions

        public void addExtensions​(java.lang.String... configs)
        Description copied from interface: UpgradeRequest
        Add WebSocket Extension Configuration(s) to request

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

        Specified by:
        addExtensions in interface UpgradeRequest
        Parameters:
        configs - the configuration(s) to add
      • complete

        public void complete()
      • getCertificates

        public java.security.cert.X509Certificate[] getCertificates()
      • getCookies

        public java.util.List<java.net.HttpCookie> getCookies()
        Description copied from interface: UpgradeRequest
        Get the list of Cookies on the Upgrade request
        Specified by:
        getCookies in interface UpgradeRequest
        Returns:
        the list of Cookies
      • getExtensions

        public java.util.List<ExtensionConfig> getExtensions()
        Description copied from interface: UpgradeRequest
        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

        Specified by:
        getExtensions in interface UpgradeRequest
        Returns:
        the list of Extension configurations (in the order they were specified)
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Description copied from interface: UpgradeRequest
        Get a specific Header value from Upgrade Request
        Specified by:
        getHeader in interface UpgradeRequest
        Parameters:
        name - the name of the header
        Returns:
        the value of the header (null if header does not exist)
      • getHeaderInt

        public int getHeaderInt​(java.lang.String name)
        Description copied from interface: UpgradeRequest
        Get the specific Header value, as an int, from the Upgrade Request.
        Specified by:
        getHeaderInt in interface UpgradeRequest
        Parameters:
        name - the name of the header
        Returns:
        the value of the header as an int (-1 if header does not exist)
      • getHeaders

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaders()
        Description copied from interface: UpgradeRequest
        Get the headers as a Map of keys to value lists.
        Specified by:
        getHeaders in interface UpgradeRequest
        Returns:
        the headers
      • getHeaders

        public java.util.List<java.lang.String> getHeaders​(java.lang.String name)
        Description copied from interface: UpgradeRequest
        Get the specific header values (for multi-value headers)
        Specified by:
        getHeaders in interface UpgradeRequest
        Parameters:
        name - the header name
        Returns:
        the value list (null if no header exists)
      • getHost

        public java.lang.String getHost()
        Description copied from interface: UpgradeRequest
        The host of the Upgrade Request URI
        Specified by:
        getHost in interface UpgradeRequest
        Returns:
        host of the request URI
      • getHttpServletRequest

        public javax.servlet.http.HttpServletRequest getHttpServletRequest()
        Return the underlying HttpServletRequest that existed at Upgrade time.

        Note: many features of the HttpServletRequest are invalid when upgraded, especially ones that deal with body content, streams, readers, and responses.

        Returns:
        a limited version of the underlying HttpServletRequest
      • getLocalAddress

        public java.lang.String getLocalAddress()
        Equivalent to ServletRequest.getLocalAddr()
        Returns:
        the local address
      • getLocale

        public java.util.Locale getLocale()
        Equivalent to ServletRequest.getLocale()
        Returns:
        the preferred Locale for the client
      • getLocales

        public java.util.Enumeration<java.util.Locale> getLocales()
        Equivalent to ServletRequest.getLocales()
        Returns:
        an Enumeration of preferred Locale objects
      • getLocalHostName

        public java.lang.String getLocalHostName()
        Equivalent to ServletRequest.getLocalName()
        Returns:
        the local host name
      • getLocalPort

        public int getLocalPort()
        Equivalent to ServletRequest.getLocalPort()
        Returns:
        the local port
      • getLocalSocketAddress

        public java.net.InetSocketAddress getLocalSocketAddress()
        Return a InetSocketAddress for the local socket.

        Warning: this can cause a DNS lookup

        Returns:
        the local socket address
      • getParameterMap

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameterMap()
        Description copied from interface: UpgradeRequest
        Returns a map of the query parameters of the request.
        Specified by:
        getParameterMap in interface UpgradeRequest
        Returns:
        a unmodifiable map of query parameters of the request.
      • getPrincipal

        @Deprecated
        public java.security.Principal getPrincipal()
        Deprecated.
        use getUserPrincipal() instead
        Returns:
        the principal
      • getProtocolVersion

        public java.lang.String getProtocolVersion()
        Description copied from interface: UpgradeRequest
        Get the WebSocket Protocol Version

        As of RFC6455, Jetty only supports version 13

        Specified by:
        getProtocolVersion in interface UpgradeRequest
        Returns:
        the WebSocket protocol version
      • getQueryString

        public java.lang.String getQueryString()
        Description copied from interface: UpgradeRequest
        Get the Query String of the request URI.
        Specified by:
        getQueryString in interface UpgradeRequest
        Returns:
        the request uri query string
      • getRemoteAddress

        public java.lang.String getRemoteAddress()
        Equivalent to ServletRequest.getRemoteAddr()
        Returns:
        the remote address
      • getRemoteHostName

        public java.lang.String getRemoteHostName()
        Equivalent to ServletRequest.getRemoteHost()
        Returns:
        the remote host name
      • getRemotePort

        public int getRemotePort()
        Equivalent to ServletRequest.getRemotePort()
        Returns:
        the remote port
      • getRemoteSocketAddress

        public java.net.InetSocketAddress getRemoteSocketAddress()
        Return a InetSocketAddress for the remote socket.

        Warning: this can cause a DNS lookup

        Returns:
        the remote socket address
      • getRequestPath

        public java.lang.String getRequestPath()
      • getRequestURI

        public java.net.URI getRequestURI()
        Description copied from interface: UpgradeRequest
        Get the Request URI
        Specified by:
        getRequestURI in interface UpgradeRequest
        Returns:
        the request URI
      • getServletAttribute

        public java.lang.Object getServletAttribute​(java.lang.String name)
      • getServletAttributes

        public java.util.Map<java.lang.String,​java.lang.Object> getServletAttributes()
      • getServletParameters

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getServletParameters()
      • getSession

        public javax.servlet.http.HttpSession getSession()
        Return the HttpSession if it exists.

        Note: this is equivalent to HttpServletRequest.getSession(boolean) and will not create a new HttpSession.

        Specified by:
        getSession in interface UpgradeRequest
        Returns:
        the Servlet HTTPSession on server side UpgradeRequests
      • getSubProtocols

        public java.util.List<java.lang.String> getSubProtocols()
        Description copied from interface: UpgradeRequest
        Get the list of offered WebSocket sub-protocols.
        Specified by:
        getSubProtocols in interface UpgradeRequest
        Returns:
        the list of offered sub-protocols
      • getUserPrincipal

        public java.security.Principal getUserPrincipal()
        Equivalent to HttpServletRequest.getUserPrincipal()
        Specified by:
        getUserPrincipal in interface UpgradeRequest
        Returns:
        the user principal
      • hasSubProtocol

        public boolean hasSubProtocol​(java.lang.String test)
        Description copied from interface: UpgradeRequest
        Test if a specific sub-protocol is offered
        Specified by:
        hasSubProtocol in interface UpgradeRequest
        Parameters:
        test - the sub-protocol to test for
        Returns:
        true if sub-protocol exists on request
      • isOrigin

        public boolean isOrigin​(java.lang.String test)
        Description copied from interface: UpgradeRequest
        Test if supplied Origin is the same as the Request
        Specified by:
        isOrigin in interface UpgradeRequest
        Parameters:
        test - the supplied origin
        Returns:
        true if the supplied origin matches the request origin
      • isSecure

        public boolean isSecure()
        Description copied from interface: UpgradeRequest
        Test if connection is secure.
        Specified by:
        isSecure in interface UpgradeRequest
        Returns:
        true if connection is secure.
      • isUserInRole

        public boolean isUserInRole​(java.lang.String role)
      • setCookies

        public void setCookies​(java.util.List<java.net.HttpCookie> cookies)
        Description copied from interface: UpgradeRequest
        Set the list of Cookies on the request
        Specified by:
        setCookies in interface UpgradeRequest
        Parameters:
        cookies - the cookies to use
      • setExtensions

        public void setExtensions​(java.util.List<ExtensionConfig> configs)
        Description copied from interface: UpgradeRequest
        Set the list of WebSocket Extension configurations on the request.
        Specified by:
        setExtensions in interface UpgradeRequest
        Parameters:
        configs - the list of extension configurations
      • setHeader

        public void setHeader​(java.lang.String name,
                              java.util.List<java.lang.String> values)
        Description copied from interface: UpgradeRequest
        Set a specific header with multi-value field

        Overrides any previous value for this named header

        Specified by:
        setHeader in interface UpgradeRequest
        Parameters:
        name - the name of the header
        values - the multi-value field
      • setHeader

        public void setHeader​(java.lang.String name,
                              java.lang.String value)
        Description copied from interface: UpgradeRequest
        Set a specific header value

        Overrides any previous value for this named header

        Specified by:
        setHeader in interface UpgradeRequest
        Parameters:
        name - the header to set
        value - the value to set it to
      • setHeaders

        public void setHeaders​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> headers)
        Description copied from interface: UpgradeRequest
        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 UpgradeRequest.setHeader(String, List) multiple times.

        Specified by:
        setHeaders in interface UpgradeRequest
        Parameters:
        headers - the headers to set
      • setHttpVersion

        public void setHttpVersion​(java.lang.String httpVersion)
        Description copied from interface: UpgradeRequest
        Set the HTTP Version to use.

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

        Specified by:
        setHttpVersion in interface UpgradeRequest
        Parameters:
        httpVersion - the HTTP version to use.
      • setRequestURI

        public void setRequestURI​(java.net.URI uri)
        Description copied from interface: UpgradeRequest
        Set the Request URI to use for this request.

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

        Specified by:
        setRequestURI in interface UpgradeRequest
        Parameters:
        uri - the Request URI
      • setServletAttribute

        public void setServletAttribute​(java.lang.String name,
                                        java.lang.Object value)
      • setSession

        public void setSession​(java.lang.Object session)
        Description copied from interface: UpgradeRequest
        Set the Session associated with this request.

        Typically used to associate the Servlet HttpSession object.

        Specified by:
        setSession in interface UpgradeRequest
        Parameters:
        session - the session object to associate with this request
      • setSubProtocols

        public void setSubProtocols​(java.util.List<java.lang.String> subProtocols)
        Description copied from interface: UpgradeRequest
        Set the offered WebSocket Sub-Protocol list.
        Specified by:
        setSubProtocols in interface UpgradeRequest
        Parameters:
        subProtocols - the offered sub-protocol list
      • setSubProtocols

        public void setSubProtocols​(java.lang.String... protocols)
        Description copied from interface: UpgradeRequest
        Set the offered WebSocket Sub-Protocol list.
        Specified by:
        setSubProtocols in interface UpgradeRequest
        Parameters:
        protocols - the offered sub-protocol list