createHttpClient method

  1. @override
HttpClient createHttpClient(
  1. SecurityContext? context
)
override

Returns a new HttpClient using the given context.

When this override is installed, this function overrides the behavior of new HttpClient.

Implementation

@override
HttpClient createHttpClient(SecurityContext? context) {
  httpRecorderBuilder() => _HttpRecorderImpl();

  if (customHttpOverrides != null) {
    return _ApmHttpClient(
        customHttpOverrides!.createHttpClient(context), httpRecorderBuilder);
  }
  // 如果没有定义customHttpOverrides,则先把HttpOverrides.global置空,防止递归调用,使得_HttpClient(默认的HttpClient)可以被初始化
  HttpOverrides.global = null;
  final HttpClient client =
      _ApmHttpClient(HttpClient(context: context), httpRecorderBuilder);
  HttpOverrides.global = this;
  return client;
}