diff --git a/packages/serviceSearchClient/src/live-serviceSearch-client.ts b/packages/serviceSearchClient/src/live-serviceSearch-client.ts index 7ab8cf826..46c7b9e38 100644 --- a/packages/serviceSearchClient/src/live-serviceSearch-client.ts +++ b/packages/serviceSearchClient/src/live-serviceSearch-client.ts @@ -161,11 +161,11 @@ export class LiveServiceSearchClient implements ServiceSearchClient { stripApiKeyFromHeaders(error: AxiosError) { const headerKeys = ["subscription-key", "apikey"] headerKeys.forEach((key) => { - if (error.response?.headers) { - delete error.response.headers[key] + if (error.response?.headers && error.response.headers[key]) { + error.response.headers[key] = `${error.response.headers[key].substring(0, 5)}*****` } - if (error.request?.headers) { - delete error.request.headers[key] + if (error.request?.headers && error.request.headers[key]) { + error.request.headers[key] = `${error.request.headers[key].substring(0, 5)}*****` } }) } diff --git a/packages/serviceSearchClient/tests/live-serviceSearch-client.test.ts b/packages/serviceSearchClient/tests/live-serviceSearch-client.test.ts index 38f08b620..fe70f9a70 100644 --- a/packages/serviceSearchClient/tests/live-serviceSearch-client.test.ts +++ b/packages/serviceSearchClient/tests/live-serviceSearch-client.test.ts @@ -64,7 +64,8 @@ describe("live serviceSearch client", () => { // The config doesn't get touched by the stripping function expect(axiosErr.config!.headers).toHaveProperty("subscription-key") expect(axiosErr.config!.headers).toHaveProperty("keep", "yes") - expect(axiosErr.response!.headers).not.toHaveProperty("subscription-key") + expect(axiosErr.response!.headers).toHaveProperty("subscription-key") + expect(axiosErr.response!.headers["subscription-key"]).toEqual("secre*****") expect(axiosErr.response!.headers).toHaveProperty("foo", "bar") })