From 2e54be6ccb93667dc4a6d1b876df30e9f044dea6 Mon Sep 17 00:00:00 2001 From: Deeksha Sinha <88374536+deekshas8@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:09:12 +0200 Subject: [PATCH] fix: Merge request config headers and params (#124) * fix error * fix: Changes from lint * modify an existing test * fix: Changes from lint * update test * fix test --------- Co-authored-by: cloud-sdk-js Co-authored-by: Shibesh Duwadi --- packages/ai-api/src/tests/deployment-api.test.ts | 11 ++++++++--- packages/core/src/http-client.ts | 10 ++-------- packages/core/src/openapi-request-builder.ts | 10 +++++++++- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/packages/ai-api/src/tests/deployment-api.test.ts b/packages/ai-api/src/tests/deployment-api.test.ts index 06ed78e7..c3530b5b 100644 --- a/packages/ai-api/src/tests/deployment-api.test.ts +++ b/packages/ai-api/src/tests/deployment-api.test.ts @@ -76,7 +76,7 @@ describe('deployment', () => { expect(result).toEqual(expectedResponse); }); - it('parses a successful response for post request', async () => { + it('parses a successful response for post request with required headers', async () => { const expectedResponse: AiDeploymentCreationResponse = { deploymentUrl: '', id: '4e5f6g7h', @@ -86,7 +86,10 @@ describe('deployment', () => { nock(aiCoreDestination.url, { reqheaders: { - 'AI-Resource-Group': 'default' + 'AI-Resource-Group': 'default', + 'some-test-header': 'test-header-value', + 'content-type': 'application/json', + 'ai-client-type': 'AI SDK JavaScript' } }) .post('/v2/lm/deployments') @@ -101,7 +104,9 @@ describe('deployment', () => { const result: AiDeploymentCreationResponse = await DeploymentApi.deploymentCreate(deploymentPostData, { 'AI-Resource-Group': 'default' - }).execute(); + }) + .addCustomHeaders({ 'some-test-header': 'test-header-value' }) + .execute(); expect(result).toEqual(expectedResponse); }); diff --git a/packages/core/src/http-client.ts b/packages/core/src/http-client.ts index c0eb635d..059ebc72 100644 --- a/packages/core/src/http-client.ts +++ b/packages/core/src/http-client.ts @@ -102,13 +102,7 @@ function mergeWithDefaultRequestConfig( return { ...defaultConfig, ...requestConfig, - headers: mergeIgnoreCase({ - ...defaultConfig.headers, - ...requestConfig?.headers - }), - params: mergeIgnoreCase({ - ...defaultConfig.params, - ...requestConfig?.params - }) + headers: mergeIgnoreCase(defaultConfig.headers, requestConfig?.headers), + params: mergeIgnoreCase(defaultConfig.params, requestConfig?.params) }; } diff --git a/packages/core/src/openapi-request-builder.ts b/packages/core/src/openapi-request-builder.ts index 980ef526..7fc7c07d 100644 --- a/packages/core/src/openapi-request-builder.ts +++ b/packages/core/src/openapi-request-builder.ts @@ -28,7 +28,15 @@ export class OpenApiRequestBuilder< const { url, data, ...rest } = await this.requestConfig(); // TODO: Remove explicit url! once we updated the type in the Cloud SDK, since url is always defined. return executeRequest({ url: url! }, data, { - ...rest + ...rest, + headers: { + ...rest.headers?.requestConfig, + ...rest.headers?.custom + }, + params: { + ...rest.params?.requestConfig, + ...rest.params?.custom + } }); }