fix: Set Content-Type header for JSON responses in serializeHTTPHandler #19878
+1
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The serializeHTTPHandler was missing the Content-Type header for JSON responses, causing clients to receive "text/plain; charset=utf-8" instead of the expected "application/json; charset=UTF-8".
This bug was introduced in commit d0c11a6 (Dec 2024) when Parquet support was added. The Parquet code path correctly sets the Content-Type header, but the JSON code path (the default) was left without any Content-Type header.
The issue became visible in the last 4 weeks as the v2 engine router changes (commits 72cb649 and d721511) made more query_range requests flow through this code path.
This fix ensures JSON responses from /loki/api/v1/query_range and other query endpoints have the correct Content-Type header set, matching the behavior in other parts of the codebase (see codec.go lines 686, 1304).
Fixes: https://github.com/grafana/loki/issues/[issue-number] (cherry picked from commit f27ccf6)
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Checklist
CONTRIBUTING.mdguide (required)featPRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.docs/sources/setup/upgrade/_index.mddeprecated-config.yamlanddeleted-config.yamlfiles respectively in thetools/deprecated-config-checkerdirectory. Example PR