此类提供了一种覆盖 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 - 在由
overrides
中找到的重写中,在新的 Zone 中运行body
。 -
runZoned<
R> (R body(), {HttpClient createHttpClient(SecurityContext?)?, String findProxyFromEnvironment(Uri uri, Map< String, String> ? environment)?}) → R - 在提供重写的全新 Zone 中运行
body
。