Class RequestContext

  • All Implemented Interfaces:
    HandshakeRequest

    public final class RequestContext
    extends UpgradeRequest
    Implementation of all possible request interfaces. Should be the only point of truth.
    Author:
    Pavel Bucek (pavel.bucek at oracle.com)
    • Method Detail

      • getHeaders

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getHeaders()
        Get headers.
        Returns:
        headers map. List items are corresponding to header declaration in HTTP request.
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Returns the header value corresponding to the name.
        Specified by:
        getHeader in class UpgradeRequest
        Parameters:
        name - header name.
        Returns:
        List of header values iff found, null otherwise.
      • lock

        public void lock()
        Make headers and parameter map read-only.
      • getUserPrincipal

        public java.security.Principal getUserPrincipal()
        Description copied from interface: HandshakeRequest
        Return the authenticated user or null if no user is authenticated for this handshake.
        Returns:
        the user principal.
      • getRequestURI

        public java.net.URI getRequestURI()
        Description copied from interface: HandshakeRequest
        Return the request URI of the handshake request.
        Returns:
        the request uri of the handshake request.
      • isUserInRole

        public boolean isUserInRole​(java.lang.String role)
        Description copied from interface: HandshakeRequest
        Checks whether the current user is in the given role. Roles and role membership can be defined using deployment descriptors of the containing WAR file, if running in a Java EE web container. If the user has not been authenticated, the method returns false.
        Parameters:
        role - the role being checked.
        Returns:
        whether the authenticated user is in the role, or false if the user has not been authenticated.
      • getHttpSession

        public java.lang.Object getHttpSession()
        Description copied from interface: HandshakeRequest
        Return a reference to the HttpSession that the web socket handshake that started this conversation was part of, if the implementation is part of a Java EE web container.
        Returns:
        the http session or null if either the websocket implementation is not part of a Java EE web container, or there is no HttpSession associated with the opening handshake request.
      • getParameterMap

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameterMap()
        Description copied from interface: HandshakeRequest
        Return the request parameters associated with the request.
        Returns:
        the unmodifiable map of the request parameters.
      • getQueryString

        public java.lang.String getQueryString()
        Description copied from interface: HandshakeRequest
        Return the query string associated with the request.
        Returns:
        the query string.
      • getRequestUri

        public java.lang.String getRequestUri()
        Description copied from class: UpgradeRequest
        Get the undecoded request uri (up to the query string) of underlying HTTP handshake request.
        Specified by:
        getRequestUri in class UpgradeRequest
        Returns:
        request uri.
      • isSecure

        public boolean isSecure()
        Description copied from class: UpgradeRequest
        Indicates whether this request was made using a secure channel (such as HTTPS).
        Specified by:
        isSecure in class UpgradeRequest
        Returns:
        true if the request was made using secure channel, false otherwise.
      • getRemoteAddr

        public java.lang.String getRemoteAddr()
        Get the Internet Protocol (IP) address of the client or last proxy that sent the request.
        Returns:
        a String containing the IP address of the client that sent the request or null when method is called on client-side.