Android

org.apache.http.message.BasicHeaderValueParser

java.lang.Object
org.apache.http.message.BasicHeaderValueParser HeaderValueParser

Basic implementation for parsing header values into elements. Instances of this class are stateless and thread-safe. Derived classes are expected to maintain these properties.

Summary

Constants

      Value  
BasicHeaderValueParser  DEFAULT  A default instance of this class, for use as default or fallback.     

Public Constructors

            BasicHeaderValueParser()

Public Methods

    final  static    HeaderElement[]  parseElements(String value, HeaderValueParser parser)
Parses elements with the given parser.
          HeaderElement[]  parseElements(CharArrayBuffer buffer, ParserCursor cursor)
Parses a header value into elements.
          HeaderElement  parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor)
Parses a single header element.
    final  static    HeaderElement  parseHeaderElement(String value, HeaderValueParser parser)
Parses an element with the given parser.
    final  static    NameValuePair  parseNameValuePair(String value, HeaderValueParser parser)
Parses a name-value-pair with the given parser.
          NameValuePair  parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor)
Parses a name=value specification, where the = and value are optional.
          NameValuePair  parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor, char[] delimiters)
    final  static    NameValuePair[]  parseParameters(String value, HeaderValueParser parser)
Parses parameters with the given parser.
          NameValuePair[]  parseParameters(CharArrayBuffer buffer, ParserCursor cursor)
Parses a list of name-value pairs.

Protected Methods

          HeaderElement  createHeaderElement(String name, String value, NameValuePair[] params)
Creates a header element.
          NameValuePair  createNameValuePair(String name, String value)
Creates a name-value pair.
Methods inherited from class java.lang.Object
Methods inherited from interface org.apache.http.message.HeaderValueParser

Details

Constants

public static final BasicHeaderValueParser DEFAULT

A default instance of this class, for use as default or fallback. Note that BasicHeaderValueParser is not a singleton, there can be many instances of the class itself and of derived classes. The instance here provides non-customized, default behavior.

Public Constructors

public BasicHeaderValueParser()

Public Methods

public static final HeaderElement[] parseElements(String value, HeaderValueParser parser)

Parses elements with the given parser.

Parameters

value the header value to parse
parser the parser to use, or null for default

Returns

  • array holding the header elements, never null

public HeaderElement[] parseElements(CharArrayBuffer buffer, ParserCursor cursor)

Parses a header value into elements. Parse errors are indicated as RuntimeException.

Some HTTP headers (such as the set-cookie header) have values that can be decomposed into multiple elements. In order to be processed by this parser, 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.

public HeaderElement parseHeaderElement(CharArrayBuffer buffer, ParserCursor cursor)

Parses a single header element. A header element consist of a semicolon-separate list of name=value definitions.

public static final HeaderElement parseHeaderElement(String value, HeaderValueParser parser)

Parses an element with the given parser.

Parameters

value the header element to parse
parser the parser to use, or null for default

Returns

  • the parsed header element

public static final NameValuePair parseNameValuePair(String value, HeaderValueParser parser)

Parses a name-value-pair with the given parser.

Parameters

value the NVP to parse
parser the parser to use, or null for default

Returns

  • the parsed name-value pair

public NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor)

Parses a name=value specification, where the = and value are optional.

public NameValuePair parseNameValuePair(CharArrayBuffer buffer, ParserCursor cursor, char[] delimiters)

public static final NameValuePair[] parseParameters(String value, HeaderValueParser parser)

Parses parameters with the given parser.

Parameters

value the parameter list to parse
parser the parser to use, or null for default

Returns

  • array holding the parameters, never null

public NameValuePair[] parseParameters(CharArrayBuffer buffer, ParserCursor cursor)

Parses a list of name-value pairs. These lists are used to specify parameters to a header element. Parse errors are indicated as RuntimeException.

This method comforms to the generic grammar and formatting rules outlined in the Section 2.2 and Section 3.6 of RFC 2616.

2.2 Basic Rules

The following rules are used throughout this specification to describe basic parsing constructs. The US-ASCII coded character set is defined by ANSI X3.4-1986.

     OCTET          = 
     CHAR           = 
     UPALPHA        = 
     LOALPHA        = 
     ALPHA          = UPALPHA | LOALPHA
     DIGIT          = 
     CTL            = 
     CR             = 
     LF             = 
     SP             = 
     HT             = 
     <">            = 
 

Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters MUST be in a quoted string to be used within a parameter value (as defined in section 3.6).

 token          = 1*
 separators     = "(" | ")" | "<" | ">" | "@"
                | "," | ";" | ":" | "\" | <">
                | "/" | "[" | "]" | "?" | "="
                | "{" | "}" | SP | HT
 

A string of text is parsed as a single word if it is quoted using double-quote marks.

 quoted-string  = ( <"> *(qdtext | quoted-pair ) <"> )
 qdtext         = >
 

The backslash character ("\") MAY be used as a single-character quoting mechanism only within quoted-string and comment constructs.

 quoted-pair    = "\" CHAR
 
3.6 Transfer Codings

Parameters are in the form of attribute/value pairs.

 parameter               = attribute "=" value
 attribute               = token
 value                   = token | quoted-string
 

Protected Methods

protected HeaderElement createHeaderElement(String name, String value, NameValuePair[] params)

Creates a header element. Called from parseHeaderElement(String, HeaderValueParser).

Returns

  • a header element representing the argument

protected NameValuePair createNameValuePair(String name, String value)

Creates a name-value pair. Called from parseNameValuePair(String, HeaderValueParser).

Parameters

name the name
value the value, or null

Returns

  • a name-value pair representing the arguments
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:56