parseHeaderRules method

List<HeaderOverrideRule> parseHeaderRules(
  1. dynamic value
)

Implementation

List<HeaderOverrideRule> parseHeaderRules(dynamic value) {
  if (value == null) return [];

  List<dynamic> rulesList = value is List ? value : [];
  return rulesList.map((rule) {
    Map<String, String> headers = {};
    final headersMap = rule['headers'];
    if (headersMap is Map) {
      headersMap.forEach((key, value) {
        headers[key.toString()] = value.toString();
      });
    }

    return HeaderOverrideRule(
      urlPattern: rule['urlPattern']?.toString() ?? '',
      headers: headers,
      mergeExisting: rule['mergeExisting'] ?? true,
      matchType: HeaderMatchType.values.from(rule['matchType']) ?? HeaderMatchType.CONTAINS,
    );
  }).toList();
}