此类简化了使用模拟实现覆盖 HttpClient 的过程。客户端代码中的其他类应通过重写构造模拟实现的方式来扩展此类。此基类的实现默认使用实际的 HttpClient 实现。例如
// An implementation of the HttpClient interface
class MyHttpClient implements HttpClient {
MyHttpClient(SecurityContext? c);
@override
noSuchMethod(Invocation invocation) {
// your implementation here
}
}
void main() {
HttpOverrides.runZoned(() {
// Operations will use MyHttpClient instead of the real HttpClient
// implementation whenever HttpClient is used.
}, createHttpClient: (SecurityContext? c) => MyHttpClient(c));
}
构造函数
属性
- hashCode → int
- 此对象的哈希码。无设置器继承
- runtimeType → Type
- 对象运行类型的表示。无设置器继承
方法
-
createHttpClient(
SecurityContext? context) → HttpClient - 使用给定的
context
返回一个新的 HttpClient。 -
findProxyFromEnvironment(
Uri url, Map< String, String> ? environment) → String - 解析用于 HTTP 连接的代理服务器。
-
noSuchMethod(
Invocation invocation) → dynamic - 当访问不存在的方法或属性时被调用。继承
-
toString(
) → String - 此对象的字符串表示。继承
运算符
-
operator ==(
Object other) → bool - 等于运算符。继承
静态属性
- current → HttpOverrides?
-
无设置器
- global ← HttpOverrides?
- 在根 Zone 中使用的 HttpOverrides。无获取器
静态方法
-
runWithHttpOverrides<
R> (R body(), HttpOverrides overrides) → R - 在新的 Zone 中运行
body
,使用overrides
中找到的重写规则。 -
runZoned<
R> (R body(), {HttpClient createHttpClient(SecurityContext?)?, String findProxyFromEnvironment(Uri uri, Map< String, String> ? environment)?}) → R - 在提供重写规则的新 Zone 中运行
body
。