HeaderPlugin.single constructor

HeaderPlugin.single({
  1. required Map<String, AsyncHeaderValueProvider> headers,
  2. bool skipEmpty = true,
})

从单个 Header 提供器 Map 创建

headers key 为 header 名称,value 为异步获取 header 值的函数 skipEmpty 是否跳过空值,默认 true

示例:

HeaderPlugin.single({
  'Authorization': () async => await getToken(),
  'X-Platform': () async => Platform.isIOS ? 'ios' : 'android',
})

Implementation

factory HeaderPlugin.single({
  required Map<String, AsyncHeaderValueProvider> headers,
  bool skipEmpty = true,
}) {
  // 将单个 header 提供器转换为统一的 provider
  final providers = <AsyncHeaderProvider>[
    () async {
      final result = <String, String?>{};
      for (final entry in headers.entries) {
        result[entry.key] = await entry.value();
      }
      return result;
    },
  ];
  return HeaderPlugin(providers: providers, skipEmpty: skipEmpty);
}