diff --git a/enterprise/litellm_enterprise/enterprise_callbacks/generic_api_callback.py b/enterprise/litellm_enterprise/enterprise_callbacks/generic_api_callback.py index 3db8f0f7cef..d239be41257 100644 --- a/enterprise/litellm_enterprise/enterprise_callbacks/generic_api_callback.py +++ b/enterprise/litellm_enterprise/enterprise_callbacks/generic_api_callback.py @@ -74,7 +74,9 @@ class GenericAPILogger(CustomBatchLogger): headers: Optional[dict] = None """ # Process headers from different sources - headers_dict = {} + headers_dict = { + "Content-Type": "application/json", + } # 1. First check for headers from env var env_headers = os.getenv("GENERIC_LOGGER_HEADERS") diff --git a/tests/logging_callback_tests/test_generic_api_callback.py b/tests/logging_callback_tests/test_generic_api_callback.py index c033f323ec8..a2301b0303a 100644 --- a/tests/logging_callback_tests/test_generic_api_callback.py +++ b/tests/logging_callback_tests/test_generic_api_callback.py @@ -78,6 +78,9 @@ async def test_generic_api_callback(): print("##########\n") print("logs were flushed to URL", actual_url, "with the following headers", mock_post.call_args[1]["headers"]) assert actual_url == test_endpoint, f"Expected URL {test_endpoint}, got {actual_url}" + + # Validate headers + assert mock_post.call_args[1]["headers"]["Content-Type"] == "application/json", "Content-Type should be application/json" # For the GenericAPILogger, it sends the payload directly as JSON in the data field json_data = mock_post.call_args[1]["data"]