Class HttpRequest


  • public final class HttpRequest
    extends java.lang.Object
    Framework-agnostic representation of an HTTP request.
    Since:
    2.0.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.Map<java.lang.String,​java.util.List<java.lang.String>> EMPTY_PARAMETERS  
      private java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters  
      private java.lang.String queryString  
      private java.lang.String requestURL  
    • Constructor Summary

      Constructors 
      Constructor Description
      HttpRequest​(java.lang.String requestURL)
      Deprecated.
      Not providing a queryString can cause HTTP Redirect binding to fail.
      HttpRequest​(java.lang.String requestURL, java.lang.String queryString)
      Creates a new HttpRequest.
      HttpRequest​(java.lang.String requestURL, java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters)
      Deprecated.
      Not providing a queryString can cause HTTP Redirect binding to fail.
      HttpRequest​(java.lang.String requestURL, java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters, java.lang.String queryString)
      Creates a new HttpRequest.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      HttpRequest addParameter​(java.lang.String name, java.lang.String value)  
      boolean equals​(java.lang.Object o)  
      java.lang.String getEncodedParameter​(java.lang.String name)
      Return an url encoded get parameter value Prefer to extract the original encoded value directly from queryString since url encoding is not canonical.
      java.lang.String getEncodedParameter​(java.lang.String name, java.lang.String defaultValue)
      Return an url encoded get parameter value Prefer to extract the original encoded value directly from queryString since url encoding is not canonical.
      java.lang.String getParameter​(java.lang.String name)  
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameters()  
      java.util.List<java.lang.String> getParameters​(java.lang.String name)  
      java.lang.String getRequestURL()
      The URL the client used to make the request.
      int hashCode()  
      HttpRequest removeParameter​(java.lang.String name)  
      java.lang.String toString()  
      private static java.util.Map<java.lang.String,​java.util.List<java.lang.String>> unmodifiableCopyOf​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> orig)  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY_PARAMETERS

        public static final java.util.Map<java.lang.String,​java.util.List<java.lang.String>> EMPTY_PARAMETERS
      • requestURL

        private final java.lang.String requestURL
      • parameters

        private final java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters
      • queryString

        private final java.lang.String queryString
    • Constructor Detail

      • HttpRequest

        @Deprecated
        public HttpRequest​(java.lang.String requestURL)
        Deprecated.
        Not providing a queryString can cause HTTP Redirect binding to fail.
        Creates a new HttpRequest.
        Parameters:
        requestURL - the request URL (up to but not including query parameters)
        Throws:
        java.lang.NullPointerException - if requestURL is null
      • HttpRequest

        public HttpRequest​(java.lang.String requestURL,
                           java.lang.String queryString)
        Creates a new HttpRequest.
        Parameters:
        requestURL - the request URL (up to but not including query parameters)
        queryString - string that is contained in the request URL after the path
      • HttpRequest

        @Deprecated
        public HttpRequest​(java.lang.String requestURL,
                           java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters)
        Deprecated.
        Not providing a queryString can cause HTTP Redirect binding to fail.
        Creates a new HttpRequest.
        Parameters:
        requestURL - the request URL (up to but not including query parameters)
        parameters - the request query parameters
        Throws:
        java.lang.NullPointerException - if any of the parameters is null
      • HttpRequest

        public HttpRequest​(java.lang.String requestURL,
                           java.util.Map<java.lang.String,​java.util.List<java.lang.String>> parameters,
                           java.lang.String queryString)
        Creates a new HttpRequest.
        Parameters:
        requestURL - the request URL (up to but not including query parameters)
        parameters - the request query parameters
        queryString - string that is contained in the request URL after the path
        Throws:
        java.lang.NullPointerException - if any of the parameters is null
    • Method Detail

      • addParameter

        public HttpRequest addParameter​(java.lang.String name,
                                        java.lang.String value)
        Parameters:
        name - the query parameter name
        value - the query parameter value
        Returns:
        a new HttpRequest with the given query parameter added
        Throws:
        java.lang.NullPointerException - if any of the parameters is null
      • removeParameter

        public HttpRequest removeParameter​(java.lang.String name)
        Parameters:
        name - the query parameter name
        Returns:
        a new HttpRequest with the given query parameter removed
        Throws:
        java.lang.NullPointerException - if any of the parameters is null
      • getRequestURL

        public java.lang.String getRequestURL()
        The URL the client used to make the request. Includes a protocol, server name, port number, and server path, but not the query string parameters.
        Returns:
        the request URL
      • getParameter

        public java.lang.String getParameter​(java.lang.String name)
        Parameters:
        name - the query parameter name
        Returns:
        the first value for the parameter, or null
      • getParameters

        public java.util.List<java.lang.String> getParameters​(java.lang.String name)
        Parameters:
        name - the query parameter name
        Returns:
        a List containing all values for the parameter
      • getParameters

        public java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getParameters()
        Returns:
        a map of all query parameters
      • getEncodedParameter

        public java.lang.String getEncodedParameter​(java.lang.String name)
        Return an url encoded get parameter value Prefer to extract the original encoded value directly from queryString since url encoding is not canonical.
        Parameters:
        name -
        Returns:
        the first value for the parameter, or null
      • getEncodedParameter

        public java.lang.String getEncodedParameter​(java.lang.String name,
                                                    java.lang.String defaultValue)
        Return an url encoded get parameter value Prefer to extract the original encoded value directly from queryString since url encoding is not canonical.
        Parameters:
        name -
        defaultValue -
        Returns:
        the first value for the parameter, or url encoded default value
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • unmodifiableCopyOf

        private static java.util.Map<java.lang.String,​java.util.List<java.lang.String>> unmodifiableCopyOf​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> orig)