onRequest method

  1. @override
Future<void> onRequest(
  1. AdapterRequest request,
  2. RequestInterceptorHandler handler
)
override

请求拦截

在请求发送前调用,可以修改请求或直接返回响应

request 请求配置 handler 拦截器处理器

Implementation

@override
Future<void> onRequest(
  AdapterRequest request,
  RequestInterceptorHandler handler,
) async {
  logPrint('***************** Request Start *****************');

  final uri = request.buildFullUrl();
  _requestMaps[uri] = DateTime.now();

  printKV('Request uri start', uri);

  if (this.request) {
    printKV('method', request.method.toString());
    printKV('responseType', request.responseType.toString());
    printKV('connectTimeout', request.connectTimeout?.inMicroseconds ?? "");
    printKV('receiveTimeout', request.receiveTimeout?.inMicroseconds ?? "");
    printKV('sendTimeout', request.sendTimeout?.inMicroseconds ?? "");
    printKV('extra', request.extra);
  }

  if (requestHeader) {
    logPrint('Request Headers:');
    printAll(jsonEncode(request.headers));
  }

  if (requestBody) {
    if (request.rawBody != null) {
      logPrint("rawBody:");
      _printBody(request.rawBody);
    }
    if (request.bodyParams.isNotEmpty) {
      logPrint("bodyParams:");
      _printBody(request.bodyParams);
    }
  }

  if (request.queryParams.isNotEmpty) {
    logPrint("queryParams:");
    printAll(jsonEncode(request.queryParams));
  }
  printKV('Request uri end', uri);
  logPrint('***************** Request End *****************');

  // 继续请求
  handler.next(request);
}