Class HeaderElement

  • All Implemented Interfaces:
    java.io.Serializable

    public class HeaderElement
    extends NameValuePair

    One element of an HTTP header's value.

    Some HTTP headers (such as the set-cookie header) have values that can be decomposed into multiple elements. Such headers must be in the following form:

     header  = [ element ] *( "," [ element ] )
     element = name [ "=" [ value ] ] *( ";" [ param ] )
     param   = name [ "=" [ value ] ]
    
     name    = token
     value   = ( token | quoted-string )
    
     token         = 1*<any char except "=", ",", ";", <"> and
                           white space>
     quoted-string = <"> *( text | quoted-char ) <">
     text          = any char except <">
     quoted-char   = "\" char
     

    Any amount of white space is allowed between any part of the header, element or param and is ignored. A missing value in any element or param will be stored as the empty String; if the "=" is also missing null will be stored instead.

    This class represents an individual header element, containing both a name/value pair (value may be null) and optionally a set of additional parameters.

    This class also exposes a parse(java.lang.String) method for parsing a Header value into an array of elements.

    Since:
    1.0
    See Also:
    Header, Serialized Form
    • Constructor Detail

      • HeaderElement

        public HeaderElement()
        Default constructor.
      • HeaderElement

        public HeaderElement​(java.lang.String name,
                             java.lang.String value)
        Constructor.
        Parameters:
        name - my name
        value - my (possibly null) value
      • HeaderElement

        public HeaderElement​(java.lang.String name,
                             java.lang.String value,
                             NameValuePair[] parameters)
        Constructor with name, value and parameters.
        Parameters:
        name - my name
        value - my (possibly null) value
        parameters - my (possibly null) parameters
      • HeaderElement

        public HeaderElement​(char[] chars,
                             int offset,
                             int length)
        Constructor with array of characters.
        Parameters:
        chars - the array of characters
        offset - - the initial offset.
        length - - the length.
        Since:
        3.0
      • HeaderElement

        public HeaderElement​(char[] chars)
        Constructor with array of characters.
        Parameters:
        chars - the array of characters
        Since:
        3.0
    • Method Detail

      • getParameters

        public NameValuePair[] getParameters()
        Get parameters, if any.
        Returns:
        parameters as an array of NameValuePairs
        Since:
        2.0
      • parseElements

        public static final HeaderElement[] parseElements​(char[] headerValue)
        This parses the value part of a header. The result is an array of HeaderElement objects.
        Parameters:
        headerValue - the array of char representation of the header value (as received from the web server).
        Returns:
        array of HeaderElements.
        Since:
        3.0
      • parseElements

        public static final HeaderElement[] parseElements​(java.lang.String headerValue)
        This parses the value part of a header. The result is an array of HeaderElement objects.
        Parameters:
        headerValue - the string representation of the header value (as received from the web server).
        Returns:
        array of HeaderElements.
        Since:
        3.0
      • parse

        public static final HeaderElement[] parse​(java.lang.String headerValue)
                                           throws HttpException
        Deprecated.
        Use #parseElements(String).
        This parses the value part of a header. The result is an array of HeaderElement objects.
        Parameters:
        headerValue - the string representation of the header value (as received from the web server).
        Returns:
        array of HeaderElements.
        Throws:
        HttpException - if the above syntax rules are violated.
      • getParameterByName

        public NameValuePair getParameterByName​(java.lang.String name)
        Returns parameter with the given name, if found. Otherwise null is returned
        Parameters:
        name - The name to search by.
        Returns:
        NameValuePair parameter with the given name