diff --git a/meilisearch/_httprequests.py b/meilisearch/_httprequests.py index 1c5b8f82..7f35bbdc 100644 --- a/meilisearch/_httprequests.py +++ b/meilisearch/_httprequests.py @@ -49,6 +49,8 @@ def send_request( ) -> Any: if content_type: self.headers["Content-Type"] = content_type + else: + self.headers.pop("Content-Type", None) try: request_path = self.config.url + "/" + path if http_method.__name__ == "get": @@ -162,6 +164,8 @@ def post_stream( """ if content_type: self.headers["Content-Type"] = content_type + else: + self.headers.pop("Content-Type", None) try: request_path = self.config.url + "/" + path diff --git a/tests/client/test_http_requests.py b/tests/client/test_http_requests.py index 7093aa69..deda5116 100644 --- a/tests/client/test_http_requests.py +++ b/tests/client/test_http_requests.py @@ -1,3 +1,5 @@ +import requests + from meilisearch._httprequests import HttpRequests from meilisearch.config import Config from meilisearch.version import qualified_version @@ -28,3 +30,16 @@ def test_get_headers_with_multiple_user_agent(): http.headers["User-Agent"] == qualified_version() + ";Meilisearch Package1 (v1.1.1);Meilisearch Package2 (v2.2.2)" ) + + +def test_reset_content_type_header(): + """Tests that the content type header is reset when no content type is provided.""" + config = Config(BASE_URL, MASTER_KEY, timeout=None) + http = HttpRequests(config=config) + + http.headers["Content-Type"] = "application/json" + assert http.headers["Content-Type"] == "application/json" + + http.send_request(http_method=requests.get, path="health") + + assert "Content-Type" not in http.headers