From a82107fb05120f7365086032c9b05ea316716327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E0=A4=95=E0=A4=BE=E0=A4=B0=E0=A4=A4=E0=A5=8B=E0=A4=AB?= =?UTF-8?q?=E0=A5=8D=E0=A4=AB=E0=A5=87=E0=A4=B2=E0=A4=B8=E0=A5=8D=E0=A4=95?= =?UTF-8?q?=E0=A5=8D=E0=A4=B0=E0=A4=BF=E0=A4=AA=E0=A5=8D=E0=A4=9F=E2=84=A2?= Date: Mon, 14 Aug 2023 12:38:17 +0200 Subject: [PATCH] fix(Respond to Webhook Node): Return headers in response (#6921) --- packages/cli/src/WebhookHelpers.ts | 8 +++++++- packages/cli/test/unit/webhooks.test.ts | 8 ++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/WebhookHelpers.ts b/packages/cli/src/WebhookHelpers.ts index 2eb083e36b..0ef649d0ab 100644 --- a/packages/cli/src/WebhookHelpers.ts +++ b/packages/cli/src/WebhookHelpers.ts @@ -113,7 +113,13 @@ export const webhookRequestHandler = // Don't respond, if already responded if (response.noWebhookResponse !== true) { - ResponseHelper.sendSuccessResponse(res, response.data, true, response.responseCode); + ResponseHelper.sendSuccessResponse( + res, + response.data, + true, + response.responseCode, + response.headers, + ); } }; diff --git a/packages/cli/test/unit/webhooks.test.ts b/packages/cli/test/unit/webhooks.test.ts index 804d3d8d36..f4b1b02d5b 100644 --- a/packages/cli/test/unit/webhooks.test.ts +++ b/packages/cli/test/unit/webhooks.test.ts @@ -56,20 +56,24 @@ describe('WebhookServer', () => { it('should handle regular requests', async () => { const pathPrefix = config.getEnv(`endpoints.${key}`); manager.getWebhookMethods.mockResolvedValueOnce(['GET']); - manager.executeWebhook.mockResolvedValueOnce(mockResponse({ test: true })); + manager.executeWebhook.mockResolvedValueOnce( + mockResponse({ test: true }, { key: 'value ' }), + ); const response = await agent.get(`/${pathPrefix}/abcd`).set('origin', corsOrigin); expect(response.statusCode).toEqual(200); expect(response.body).toEqual({ test: true }); expect(response.headers['access-control-allow-origin']).toEqual(corsOrigin); + expect(response.headers.key).toEqual('value'); }); }); } - const mockResponse = (data = {}, status = 200) => { + const mockResponse = (data = {}, headers = {}, status = 200) => { const response = mock(); response.responseCode = status; response.data = data; + response.headers = headers; return response; }; });