|
||||||||||
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 errorHeaderElement 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 errorNameValuePair[] 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 errorNameValuePair 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 |