From 9aa7224f31c26126ad64e1b91179622e542fd491 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Fri, 6 Dec 2024 03:50:13 +0530 Subject: [PATCH] map extension to help detect content-type --- .../lib/extensions/extensions.dart | 1 + .../lib/extensions/map_extensions.dart | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 packages/apidash_core/lib/extensions/map_extensions.dart diff --git a/packages/apidash_core/lib/extensions/extensions.dart b/packages/apidash_core/lib/extensions/extensions.dart index d8c9fa84..6ec41fc9 100644 --- a/packages/apidash_core/lib/extensions/extensions.dart +++ b/packages/apidash_core/lib/extensions/extensions.dart @@ -1 +1,2 @@ export 'string_extensions.dart'; +export 'map_extensions.dart'; diff --git a/packages/apidash_core/lib/extensions/map_extensions.dart b/packages/apidash_core/lib/extensions/map_extensions.dart new file mode 100644 index 00000000..b1c0a4c1 --- /dev/null +++ b/packages/apidash_core/lib/extensions/map_extensions.dart @@ -0,0 +1,22 @@ +import 'dart:io'; + +extension MapExtension on Map { + bool hasKeyContentType() { + return keys.any((k) => (k is String) + ? k.toLowerCase() == HttpHeaders.contentTypeHeader + : false); + } + + String? getKeyContentType() { + if (isEmpty) { + return null; + } + bool present = hasKeyContentType(); + if (present) { + return keys.firstWhere((e) => (e is String) + ? e.toLowerCase() == HttpHeaders.contentTypeHeader + : false); + } + return null; + } +}