Representation of a header value in the form:
value; parameter1=value1; parameter2=value2
HeaderValue can be used to conveniently build and parse header values on this form.
Parameter values can be omitted, in which case the value is parsed as null
.
Values can be doubled quoted to allow characters outside of the RFC 7230
token characters and backslash sequences can be used to represent the double
quote and backslash characters themselves.
To build an "accepts" header with the value
text/plain; q=0.3, text/html
use code like this:
HttpClientRequest request = ...;
var v = HeaderValue("text/plain", {"q": "0.3"});
request.headers.add(HttpHeaders.acceptHeader, v);
request.headers.add(HttpHeaders.acceptHeader, "text/html");
To parse the header values use the parse static method.
HttpRequest request = ...;
List<String> values = request.headers[HttpHeaders.acceptHeader];
values.forEach((value) {
HeaderValue v = HeaderValue.parse(value);
// Use v.value and v.parameters
});
An instance of HeaderValue is immutable.
- Implementers
Constructors
-
HeaderValue([String value = "", Map<
String, String?> parameters = const {}]) -
Creates a new header value object setting the value and parameters.
factory
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
parameters
→ Map<
String, String?> -
A map of parameters.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- value → String
-
The value of the header.
no setter
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
Returns the formatted string representation in the form:
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited