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