| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface HeaderValueParser
Interface for parsing header values into elements. Instances of this interface are expected to be stateless and thread-safe.
| Method Summary | |
|---|---|
|  HeaderElement[] | parseElements(CharArrayBuffer buffer,
              ParserCursor cursor)Parses a header value into elements. | 
|  HeaderElement | parseHeaderElement(CharArrayBuffer buffer,
                   ParserCursor cursor)Parses a single header element. | 
|  NameValuePair | parseNameValuePair(CharArrayBuffer buffer,
                   ParserCursor cursor)Parses a name=value specification, where the = and value are optional. | 
|  NameValuePair[] | parseParameters(CharArrayBuffer buffer,
                ParserCursor cursor)Parses a list of name-value pairs. | 
| Method Detail | 
|---|
HeaderElement[] parseElements(CharArrayBuffer buffer,
                              ParserCursor cursor)
                              throws ParseException
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.
 
Note that this parser does not apply to list-typed HTTP header fields in general; it is only suitable for fields that use the syntax described above. Counter-examples are "Link" (RFC 8288), "If-None-Match" (RFC 7232) or "Dav" (RFC 4918).
buffer - buffer holding the header value to parsecursor - the parser cursor containing the current position and
                  the bounds within the buffer for the parsing operation
ParseException - in case of a parsing error
HeaderElement parseHeaderElement(CharArrayBuffer buffer,
                                 ParserCursor cursor)
                                 throws ParseException
buffer - buffer holding the element to parsecursor - the parser cursor containing the current position and
                  the bounds within the buffer for the parsing operation
ParseException - in case of a parse error
NameValuePair[] parseParameters(CharArrayBuffer buffer,
                                ParserCursor cursor)
                                throws ParseException
ParseException.
buffer - buffer holding the name-value list to parsecursor - the parser cursor containing the current position and
                  the bounds within the buffer for the parsing operation
ParseException - in case of a parse error
NameValuePair parseNameValuePair(CharArrayBuffer buffer,
                                 ParserCursor cursor)
                                 throws ParseException
buffer - the buffer holding the name-value pair to parsecursor - the parser cursor containing the current position and
                  the bounds within the buffer for the parsing operation
null
          if no value is specified
ParseException| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||