onRequest method

  1. @override
Future<void> onRequest(
  1. RequestContext ctx,
  2. RequestOptions options
)
override

请求发送前调用(可修改 RequestOptions)

Implementation

@override
Future<void> onRequest(RequestContext ctx, RequestOptions options) async {
  // 添加固定头部
  for (final entry in headers.entries) {
    // 仅在请求没有指定该头部时添加
    if (!options.headers.containsKey(entry.key) &&
        !(ctx.request.headers?.containsKey(entry.key) ?? false)) {
      options.headers[entry.key] = entry.value();
    }
  }

  // 添加请求级头部(覆盖固定头部)
  if (ctx.request.headers != null) {
    options.headers.addAll(ctx.request.headers!);
  }
}