以以下形式表示头值
value; parameter1=value1; parameter2=value2
HeaderValue 可以用来方便地构建和解析此形式的头值。
参数值可以省略,此时值将被解析为 null
。值可以用双引号括起来,以允许使用 RFC 7230 令牌字符之外的字符,可以使用反斜杠序列来表示双引号和反斜杠字符本身。
要构建具有以下值的 "accepts" 头
text/plain; q=0.3, text/html
可以使用如下代码
HttpClientRequest request = ...;
var v = HeaderValue("text/plain", {"q": "0.3"});
request.headers.add(HttpHeaders.acceptHeader, v);
request.headers.add(HttpHeaders.acceptHeader, "text/html");
要解析头值,请使用 parse 静态方法。
HttpRequest request = ...;
List<String> values = request.headers[HttpHeaders.acceptHeader];
values.forEach((value) {
HeaderValue v = HeaderValue.parse(value);
// Use v.value and v.parameters
});
HeaderValue 的实例是不可变的。
- 实现者
构造函数
-
HeaderValue([String value = "", Map<
String, String?> parameters = const {}]) - 创建一个新的头值对象,设置值和参数。工厂
属性
- hashCode → int
- 此对象的哈希码。无设置器继承
-
parameters → Map<
String, String?> - 参数映射。无设置器
- runtimeType → Type
- 对象运行时类型的表示。无设置器继承
- value → String
- 头值。无设置器
方法
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
toString(
) → String - 返回格式化字符串表示形式重写
运算符
-
operator ==(
Object other) → bool - 等于运算符。继承