Class HttpRequestPacket

    • Field Detail

      • READ_ONLY_ATTR_PREFIX

        public static final String READ_ONLY_ATTR_PREFIX
        Prefix for all service/read-only attributes, that once added could not be removed. The attributes with this prefix will not be listed in the getAttributeNames() result. The prefix was introduced with the intention to avoid collisions with normal user attributes and fail fast when we compare read-only and normal user attributes.
        See Also:
        Constant Field Values
      • remotePort

        protected int remotePort
      • localPort

        protected int localPort
      • parsedMethod

        protected Method parsedMethod
      • remoteAddressC

        protected final DataChunk remoteAddressC
      • remoteHostC

        protected final DataChunk remoteHostC
      • localNameC

        protected final DataChunk localNameC
      • localAddressC

        protected final DataChunk localAddressC
      • unparsedHostC

        protected DataChunk unparsedHostC
      • attributes

        protected final Map<String,​Object> attributes
        The attributes associated with this Request, keyed by attribute name.
    • Constructor Detail

      • HttpRequestPacket

        protected HttpRequestPacket()
    • Method Detail

      • setConnection

        public void setConnection​(org.glassfish.grizzly.Connection connection)
        Sets the underlying connection used by the request.
        Parameters:
        connection -
      • getConnection

        public org.glassfish.grizzly.Connection getConnection()
        Returns:
        underlying connection used by the request
      • getProtocolRequestId

        public String getProtocolRequestId()
        Returns:
        an empty string by default.
      • getMethodDC

        public DataChunk getMethodDC()
        Get the HTTP request method as DataChunk (avoiding creation of a String object). The result format is "GET|POST...".
        Returns:
        the HTTP request method as DataChunk (avoiding creation of a String object). The result format is "GET|POST...".
      • getMethod

        public Method getMethod()
        Get the HTTP request method.
        Returns:
        the HTTP request method.
      • setMethod

        public void setMethod​(String method)
        Set the HTTP request method.
        Parameters:
        method - the HTTP request method. Format is "GET|POST...".
      • setMethod

        public void setMethod​(Method method)
        Set the HTTP request method.
        Parameters:
        method - the HTTP request method. Format is "GET|POST...".
      • getRequestURIRef

        public RequestURIRef getRequestURIRef()
        Returns the request URL of the HTTP request as RequestURIRef (avoiding creation of a String object).
        Returns:
        the request URL of the HTTP request as RequestURIRef (avoiding creation of a String object).
      • getRequestURI

        public String getRequestURI()
        Returns the request URL.
        Returns:
        the request URL.
      • setRequestURI

        public void setRequestURI​(String requestURI)
        Set the request URL.
        Parameters:
        requestURI - the request URL.
      • getQueryStringDC

        public DataChunk getQueryStringDC()
        Returns the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string. The result is represented as DataChunk (avoiding creation of a String object).
        Returns:
        the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string. The result is represented as DataChunk (avoiding creation of a String object).
      • getQueryString

        public String getQueryString()
        Returns the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string.
        Returns:
        the query string that is contained in the request URL after the path. This method returns null if the URL does not have a query string.
      • setQueryString

        public void setQueryString​(String query)
        Set the query portion of the request URI.
        Parameters:
        query - the query String
      • serverNameRaw

        protected DataChunk serverNameRaw()
        Return the buffer holding the server name, if any. Use isNull() to check if there is no value set. This is the "virtual host", derived from the Host: header.
        Returns:
        the buffer holding the server name
      • serverName

        public DataChunk serverName()
        Return the buffer holding the server name, if any. Use isNull() to check if there is no value set. This is the "virtual host", derived from the Host: header.
        Returns:
        the buffer holding the server name, if any
      • getServerPort

        public int getServerPort()
        Returns:
        Returns the integer value of the Internet Protocol (IP) port as specified in the Host request header.
      • setServerPort

        public void setServerPort​(int serverPort)
        Sets the Internet Protocol (IP) port specified in the Host request header.
        Parameters:
        serverPort - the port as specified in the Host request header
      • remoteAddr

        public DataChunk remoteAddr()
        Returns:
        the DataChunk representing the Internet Protocol (IP) address of the client or last proxy that sent the request.
      • getRemoteAddress

        public String getRemoteAddress()
        Returns:
        the Internet Protocol (IP) address of the client or last proxy that sent the request.
      • remoteHost

        public DataChunk remoteHost()
        Returns:
        a DataChunk representing the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the host name (to improve performance), this method returns the the IP address.
      • getRemoteHost

        public String getRemoteHost()
        Returns:
        a String representing the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the hostname (to improve performance), this method returns the the IP address.
      • requiresAcknowledgement

        protected void requiresAcknowledgement​(boolean requiresAcknowledgement)
        Allows consumers of this request to be notified if the user-agent requires acknowledgment of an expectation (i.e., the Expect header).
        Parameters:
        requiresAcknowledgement - true if expectation processing is required.
      • requiresAcknowledgement

        public boolean requiresAcknowledgement()
        Returns:
        true if this request requires acknowledgement.
      • localName

        public DataChunk localName()
        Returns:
        a DataChunk representing the host name of the Internet Protocol (IP) interface on which the request was received.
      • getLocalName

        public String getLocalName()
        Returns:
        a String representing the host name of the Internet Protocol (IP) interface on which the request was received.
      • localAddr

        public DataChunk localAddr()
        Returns:
        a DataChunk representing the Internet Protocol (IP) address of the interface on which the request was received.
      • getLocalAddress

        public String getLocalAddress()
        Returns:
        a String representing the Internet Protocol (IP) address of the interface on which the request was received.
      • getRemotePort

        public int getRemotePort()
        Returns:
        the Internet Protocol (IP) source port of the client or last proxy that sent the request.
      • setRemotePort

        public void setRemotePort​(int port)
        Sets the Internet Protocol (IP) source port of the client or last proxy that sent the request.
        Parameters:
        port - the source port of the client
      • getLocalPort

        public int getLocalPort()
        Returns:
        the Internet Protocol (IP) port number of the interface on which the request was received.
      • setLocalPort

        public void setLocalPort​(int port)
        Sets the Internet Protocol (IP) port number of the interface on which the request was received.
        Parameters:
        port - the port on which the request was received
      • getLocalHost

        public String getLocalHost()
        Returns:
        the host name of the server servicing this request.
      • setLocalHost

        public void setLocalHost​(String host)
        Set the host name of the server servicing this request.
        Parameters:
        host - the host name of the server servicing this request.
      • authType

        public DataChunk authType()
        Returns:
        the authentication type used for this Request.
      • remoteUser

        public DataChunk remoteUser()
        Returns:
        the name of the remote user that has been authenticated for this Request.
      • createNote

        public static <E> Note<E> createNote​(String name)
        Create a named Note associated with this Request.
        Type Parameters:
        E - the Note type.
        Parameters:
        name - the Note name.
        Returns:
        the Note.
      • getNote

        public <E> E getNote​(Note<E> note)
        Return the Note value associated with this Request, or null if no such binding exists. Use createNote(java.lang.String) to create a new Note.
        Type Parameters:
        E - the Note type.
        Parameters:
        note - Note value to be returned
        Returns:
        the Note value associated with this Request, or null if no such binding exists
      • getNoteNames

        public Set<String> getNoteNames()
        Return a Set containing the String names of all note bindings that exist for this request. Use createNote(java.lang.String) to create a new Note.
        Returns:
        a Set containing the String names of all note bindings that exist for this request.
      • removeNote

        public <E> E removeNote​(Note<E> note)
        Remove the Note value associated with this request. Use createNote(java.lang.String) to create a new Note.
        Type Parameters:
        E - the Note type.
        Parameters:
        note - Note value to be removed
        Returns:
        the old value associated with the Note, that was removed
      • setNote

        public <E> void setNote​(Note<E> note,
                                E value)
        Bind the Note value to this Request, replacing any existing binding for this name. Use createNote(java.lang.String) to create a new Note.
        Type Parameters:
        E - the Note type.
        Parameters:
        note - Note to which the object should be bound
        value - the Note value be bound to the specified Note.
      • getAttribute

        public Object getAttribute​(String name)
        Parameters:
        name - Name of the request attribute to return
        Returns:
        the specified request attribute if it exists; otherwise, return null.
      • getAttributeNames

        public Set<String> getAttributeNames()
        Returns:
        read-only Set of the names of all request attributes, or an empty Set if there are none.
      • setAttribute

        public void setAttribute​(String name,
                                 Object value)
        Set the specified request attribute to the specified value.
        Parameters:
        name - Name of the request attribute to set
        value - The associated value
      • removeAttribute

        public void removeAttribute​(String name)
        Remove the specified request attribute if it exists.
        Parameters:
        name - Name of the request attribute to remove
      • isHeadRequest

        public boolean isHeadRequest()
        Returns true if this request is a HEAD request, otherwise returns false.
        Returns:
        true if this request is a HEAD request, otherwise returns false.
      • reset

        protected void reset()
        Reset the internal state.
        Overrides:
        reset in class HttpHeader
      • isRequest

        public final boolean isRequest()
        Returns true, if the current HttpHeader represent HTTP request message, or false otherwise.
        Specified by:
        isRequest in class HttpHeader
        Returns:
        true, if the current HttpHeader represent HTTP request message, or false otherwise.
      • doParseHostHeader

        protected void doParseHostHeader()