From 5f1f272e9044a251a441b66377ce9462c6cc5a3d Mon Sep 17 00:00:00 2001 From: Harshil Date: Mon, 22 Jun 2026 18:54:51 +0530 Subject: [PATCH] fix: remove hard coded content type header --- src/runner.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/runner.rs b/src/runner.rs index f2c3bb4..84e8723 100644 --- a/src/runner.rs +++ b/src/runner.rs @@ -63,9 +63,6 @@ pub fn fetch( .map_err(|_| format!("Invalid header value for '{key}': {value}"))?; headers.insert(name, val); } - if !headers.contains_key(CONTENT_TYPE) { - headers.insert(CONTENT_TYPE, HeaderValue::from_static("application/json")); - } req_builder = req_builder.headers(headers); // Query Params @@ -75,6 +72,18 @@ pub fn fetch( // Body if let Some(body) = &request.body { + let trimmed = body.trim(); + if (trimmed.starts_with('{') || trimmed.starts_with('[')) + && !global_headers + .keys() + .any(|k| k.eq_ignore_ascii_case("content-type")) + && !request + .headers + .keys() + .any(|k| k.eq_ignore_ascii_case("content-type")) + { + req_builder = req_builder.header(CONTENT_TYPE, "application/json"); + } req_builder = req_builder.body(body.clone()); }