n8n-nodes-custom-webhook-wait 1.0.21 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -14,16 +14,14 @@ class WebhookWaitTrigger {
|
|
|
14
14
|
defaults: {
|
|
15
15
|
name: 'Webhook Wait Trigger',
|
|
16
16
|
},
|
|
17
|
-
// Trigger node — no inputs
|
|
18
17
|
inputs: [],
|
|
19
18
|
outputs: ['main'],
|
|
20
19
|
webhooks: [
|
|
21
20
|
{
|
|
22
21
|
name: 'default',
|
|
23
22
|
httpMethod: '={{$parameter["httpMethod"]}}',
|
|
24
|
-
responseMode: '
|
|
23
|
+
responseMode: 'lastNode',
|
|
25
24
|
path: '={{$parameter["basePath"]}}',
|
|
26
|
-
restartWebhook: false,
|
|
27
25
|
},
|
|
28
26
|
],
|
|
29
27
|
properties: [
|
|
@@ -37,8 +35,9 @@ class WebhookWaitTrigger {
|
|
|
37
35
|
'<b>Steps:</b><br>' +
|
|
38
36
|
'1. Place this node in the same workflow as a <b>Webhook Wait</b> node.<br>' +
|
|
39
37
|
'2. Both nodes must use the same <b>Base Path</b>.<br>' +
|
|
40
|
-
'3. <b>
|
|
41
|
-
'4.
|
|
38
|
+
'3. Connect this trigger to a <b>NoOp</b> or <b>Set</b> node.<br>' +
|
|
39
|
+
'4. <b>Activate</b> the workflow (toggle ON).<br>' +
|
|
40
|
+
'5. When the workflow is waiting, call the URL above with the correct resumeKey.',
|
|
42
41
|
},
|
|
43
42
|
{
|
|
44
43
|
displayName: 'Base Path',
|
|
@@ -68,8 +67,9 @@ class WebhookWaitTrigger {
|
|
|
68
67
|
};
|
|
69
68
|
}
|
|
70
69
|
async webhook() {
|
|
71
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
70
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
72
71
|
const req = this.getRequestObject();
|
|
72
|
+
const res = this.getResponseObject();
|
|
73
73
|
// Extract resumeKey from query or body
|
|
74
74
|
const query = ((_a = req.query) !== null && _a !== void 0 ? _a : {});
|
|
75
75
|
const body = req.body && typeof req.body === 'object' && !Buffer.isBuffer(req.body)
|
|
@@ -80,29 +80,21 @@ class WebhookWaitTrigger {
|
|
|
80
80
|
const staticData = this.getWorkflowStaticData('global');
|
|
81
81
|
const waitingExecutions = (_d = staticData.__webhookWaitExecutions) !== null && _d !== void 0 ? _d : {};
|
|
82
82
|
if (!resumeKey) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
activeKeys: Object.keys(waitingExecutions),
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
};
|
|
83
|
+
res.status(400).json({
|
|
84
|
+
error: 'Missing "resumeKey" query parameter.',
|
|
85
|
+
hint: 'Add ?resumeKey=your-id to the URL',
|
|
86
|
+
activeKeys: Object.keys(waitingExecutions),
|
|
87
|
+
});
|
|
88
|
+
return { noWebhookResponse: true };
|
|
93
89
|
}
|
|
94
90
|
const executionId = waitingExecutions[resumeKey];
|
|
95
91
|
if (!executionId) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
activeKeys: Object.keys(waitingExecutions),
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
};
|
|
92
|
+
res.status(404).json({
|
|
93
|
+
error: `No waiting execution found for resumeKey "${resumeKey}"`,
|
|
94
|
+
hint: 'The workflow must reach the Webhook Wait node with this key first.',
|
|
95
|
+
activeKeys: Object.keys(waitingExecutions),
|
|
96
|
+
});
|
|
97
|
+
return { noWebhookResponse: true };
|
|
106
98
|
}
|
|
107
99
|
// Build the webhook-waiting URL:
|
|
108
100
|
// https://{host}/webhook-waiting/{executionId}/{basePath}
|
|
@@ -117,6 +109,7 @@ class WebhookWaitTrigger {
|
|
|
117
109
|
'localhost';
|
|
118
110
|
const targetUrl = `${protocol}://${host}/webhook-waiting/${executionId}/${basePath}`;
|
|
119
111
|
const method = (req.method || 'POST').toUpperCase();
|
|
112
|
+
let forwardResult;
|
|
120
113
|
try {
|
|
121
114
|
const forwardBody = method === 'GET' || method === 'HEAD'
|
|
122
115
|
? undefined
|
|
@@ -139,27 +132,37 @@ class WebhookWaitTrigger {
|
|
|
139
132
|
delete waitingExecutions[resumeKey];
|
|
140
133
|
staticData.__webhookWaitExecutions = waitingExecutions;
|
|
141
134
|
const resp = forwardedResponse;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
135
|
+
// Send the forwarded response back to the caller
|
|
136
|
+
res.status((_g = resp.statusCode) !== null && _g !== void 0 ? _g : 200).json((_h = resp.body) !== null && _h !== void 0 ? _h : { status: 'resumed' });
|
|
137
|
+
forwardResult = {
|
|
138
|
+
status: 'resumed',
|
|
139
|
+
resumeKey,
|
|
140
|
+
executionId,
|
|
141
|
+
forwardStatusCode: (_j = resp.statusCode) !== null && _j !== void 0 ? _j : 200,
|
|
148
142
|
};
|
|
149
143
|
}
|
|
150
144
|
catch (error) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
145
|
+
res.status(502).json({
|
|
146
|
+
error: 'Failed to forward to the waiting execution.',
|
|
147
|
+
targetUrl,
|
|
148
|
+
executionId,
|
|
149
|
+
message: error.message,
|
|
150
|
+
});
|
|
151
|
+
forwardResult = {
|
|
152
|
+
status: 'error',
|
|
153
|
+
resumeKey,
|
|
154
|
+
executionId,
|
|
155
|
+
error: error.message,
|
|
161
156
|
};
|
|
162
157
|
}
|
|
158
|
+
// Return workflowData so n8n properly registers this trigger's webhook
|
|
159
|
+
const outputData = {
|
|
160
|
+
json: forwardResult,
|
|
161
|
+
};
|
|
162
|
+
return {
|
|
163
|
+
noWebhookResponse: true,
|
|
164
|
+
workflowData: [[outputData]],
|
|
165
|
+
};
|
|
163
166
|
}
|
|
164
167
|
}
|
|
165
168
|
exports.WebhookWaitTrigger = WebhookWaitTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebhookWaitTrigger.node.js","sourceRoot":"","sources":["../../../nodes/WebhookWaitTrigger/WebhookWaitTrigger.node.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"WebhookWaitTrigger.node.js","sourceRoot":"","sources":["../../../nodes/WebhookWaitTrigger/WebhookWaitTrigger.node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED