monitor method

Implementation

Future<HttpClientRequest> monitor(Future<HttpClientRequest> future) async {
  future = future.catchError((dynamic error, [StackTrace? stackTrace]) {
    if (httpInfo == null) {
      httpInfo = HttpInfo.error(error.toString());
      final HttpKit? kit = ApmKitManager.instance.getKit(ApmKitName.KIT_HTTP);
      kit?.save(httpInfo);
    }
  });
  final HttpClientRequest request = await future;
  httpInfo ??= HttpInfo(request.uri, request.method);
  final HttpKit? kit = ApmKitManager.instance.getKit(ApmKitName.KIT_HTTP);
  kit?.save(httpInfo);
  return DoKitHttpClientRequest(request, httpInfo);
}