refactor: Unify binary-data assertion across all nodes (no-changelog) (#5624)

This commit is contained in:
कारतोफ्फेलस्क्रिप्ट™
2023-03-06 17:33:32 +01:00
committed by GitHub
parent 01a2160b3b
commit 5eb0d52459
69 changed files with 411 additions and 1573 deletions

View File

@@ -1,7 +1,6 @@
import type { IExecuteFunctions } from 'n8n-core';
import type {
IDataObject,
IExecuteFunctions,
IN8nHttpFullResponse,
IN8nHttpResponse,
INodeExecutionData,
@@ -215,7 +214,7 @@ export class RespondToWebhook implements INodeType {
} else if (respondWith === 'text') {
responseBody = this.getNodeParameter('responseBody', 0) as string;
} else if (respondWith === 'binary') {
const item = this.getInputData()[0];
const item = items[0];
if (item.binary === undefined) {
throw new NodeOperationError(this.getNode(), 'No binary data exists on the first item!');
@@ -235,19 +234,12 @@ export class RespondToWebhook implements INodeType {
responseBinaryPropertyName = binaryKeys[0];
}
const binaryData = item.binary[responseBinaryPropertyName];
const binaryData = this.helpers.assertBinaryData(0, responseBinaryPropertyName);
const binaryDataBuffer = await this.helpers.getBinaryDataBuffer(
0,
responseBinaryPropertyName,
);
if (binaryData === undefined) {
throw new NodeOperationError(
this.getNode(),
`Item has no binary property called "${responseBinaryPropertyName}"`,
);
}
if (!headers['content-type']) {
headers['content-type'] = binaryData.mimeType;
}