feat(WebhookHelpers.ts, Webhook.node.ts): no body response for webhook

no body response for webhook response. This may be helpful if certain
services require that a response doesn't have a body
This commit is contained in:
Justin Halter
2022-02-18 08:58:40 -06:00
parent ce9cca82b1
commit d1290075ed
2 changed files with 24 additions and 1 deletions

View File

@@ -204,7 +204,14 @@ export async function executeWebhook(
200,
) as number;
if (!['onReceived', 'lastNode', 'responseNode'].includes(responseMode as string)) {
if (
![
'onReceived',
'lastNode',
'responseNode',
'noBodyResponse'
].includes(responseMode as string)
) {
// If the mode is not known we error. Is probably best like that instead of using
// the default that people know as early as possible (probably already testing phase)
// that something does not resolve properly.
@@ -349,6 +356,17 @@ export async function executeWebhook(
didSendResponse = true;
}
// Some systems require that a webhook doesn't respond with any data
// if responseMode is set to noBodyResponse we will see this fire
if (responseMode === 'noBodyResponse' && !didSendResponse) {
// Return response without data
responseCallback(null, {
responseCode,
});
didSendResponse = true;
}
// Initialize the data of the webhook node
const nodeExecutionStack: IExecuteData[] = [];
nodeExecutionStack.push({