From 909188e7785e8d8f34edac4a8e54ca29764c7fb0 Mon Sep 17 00:00:00 2001 From: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> Date: Sun, 21 Dec 2025 10:59:17 +0100 Subject: [PATCH] [v3-1-test] Add Content-Type to Request Header in Task SDK calls, fix logic (#59676) (cherry picked from commit 288b09a5c446f7bcf63c14c6c72b66f76116621f) Co-authored-by: Jens Scheffler <95105677+jscheffl@users.noreply.github.com> --- task-sdk/src/airflow/sdk/api/client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/task-sdk/src/airflow/sdk/api/client.py b/task-sdk/src/airflow/sdk/api/client.py index 96174734062f1..2ef50a72ff796 100644 --- a/task-sdk/src/airflow/sdk/api/client.py +++ b/task-sdk/src/airflow/sdk/api/client.py @@ -879,7 +879,9 @@ def _update_auth(self, response: httpx.Response): def request(self, *args, **kwargs): """Implement a convenience for httpx.Client.request with a retry layer.""" # Set content type as convenience if not already set - if "content" in kwargs and "headers" not in kwargs: + if kwargs.get("content", None) is not None and "content-type" not in ( + kwargs.get("headers", {}) or {} + ): kwargs["headers"] = {"content-type": "application/json"} return super().request(*args, **kwargs)