From 29e2d3ddb13e8301b836f5fa37144d2c39182dc4 Mon Sep 17 00:00:00 2001 From: Lucas Reis Date: Fri, 6 Jun 2025 07:42:09 -0300 Subject: [PATCH] Add Accept Header on ClientTracking (#8895) * feat: add HEADER_ACCEPT constant and update requestOptions in ClientTracking * feat: add HEADER_ACCEPT to request headers and improve request options handling * feat: add Accept header to performance report requests --- app/actions/remote/performance.test.ts | 2 +- app/client/rest/constants.ts | 1 + app/client/rest/tracking.ts | 2 ++ app/managers/performance_metrics_manager/test_utils.ts | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/actions/remote/performance.test.ts b/app/actions/remote/performance.test.ts index bf64faf78..613c60e83 100644 --- a/app/actions/remote/performance.test.ts +++ b/app/actions/remote/performance.test.ts @@ -56,7 +56,7 @@ describe('sendPerformanceReport', () => { it('happy path', async () => { const {error} = await sendPerformanceReport(serverUrl, report); expect(error).toBeFalsy(); - expect(mockApiClient.post).toHaveBeenCalledWith(`${serverUrl}/api/v4/client_perf`, {body: report, headers: {}}); + expect(mockApiClient.post).toHaveBeenCalledWith(`${serverUrl}/api/v4/client_perf`, {body: report, headers: {Accept: 'application/json'}}); }); it('properly returns error', async () => { diff --git a/app/client/rest/constants.ts b/app/client/rest/constants.ts index 221191379..c02ba7c0c 100644 --- a/app/client/rest/constants.ts +++ b/app/client/rest/constants.ts @@ -2,6 +2,7 @@ // See LICENSE.txt for license information. export const HEADER_AUTH = 'Authorization'; +export const HEADER_ACCEPT = 'Accept'; export const HEADER_ACCEPT_LANGUAGE = 'Accept-Language'; export const HEADER_BEARER = 'BEARER'; export const HEADER_CACHE_CONTROL = 'Cache-Control'; diff --git a/app/client/rest/tracking.ts b/app/client/rest/tracking.ts index 4b149201d..1f250aadc 100644 --- a/app/client/rest/tracking.ts +++ b/app/client/rest/tracking.ts @@ -84,6 +84,8 @@ export default class ClientTracking { getRequestHeaders(requestMethod: string) { const headers = {...this.requestHeaders}; + headers[ClientConstants.HEADER_ACCEPT]= 'application/json'; + if (this.csrfToken && requestMethod.toLowerCase() !== 'get') { headers[ClientConstants.HEADER_X_CSRF_TOKEN] = this.csrfToken; } diff --git a/app/managers/performance_metrics_manager/test_utils.ts b/app/managers/performance_metrics_manager/test_utils.ts index 232261704..05402765c 100644 --- a/app/managers/performance_metrics_manager/test_utils.ts +++ b/app/managers/performance_metrics_manager/test_utils.ts @@ -11,6 +11,6 @@ export function getBaseReportRequest(start: number, end: number): {body: Perform histograms: [], counters: [], }, - headers: {}, + headers: {Accept: 'application/json'}, }; }