n8n-nodes-base 1.96.1 → 1.97.0
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.
- package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js +18 -13
- package/dist/nodes/Evaluation/EvaluationTrigger/EvaluationTrigger.node.ee.js.map +1 -1
- package/dist/nodes/Form/Form.node.js +3 -3
- package/dist/nodes/Form/Form.node.js.map +1 -1
- package/dist/nodes/Form/formCompletionUtils.js.map +1 -0
- package/dist/nodes/Form/formNodeUtils.js.map +1 -0
- package/dist/nodes/Form/{utils/utils.js → utils.js} +7 -21
- package/dist/nodes/Form/utils.js.map +1 -0
- package/dist/nodes/Form/v1/FormTriggerV1.node.js +1 -1
- package/dist/nodes/Form/v1/FormTriggerV1.node.js.map +1 -1
- package/dist/nodes/Form/v2/FormTriggerV2.node.js +1 -1
- package/dist/nodes/Form/v2/FormTriggerV2.node.js.map +1 -1
- package/dist/nodes/Google/Gmail/GenericFunctions.js +1 -1
- package/dist/nodes/Google/Gmail/GenericFunctions.js.map +1 -1
- package/dist/nodes/Google/Gmail/v2/DraftDescription.js +7 -0
- package/dist/nodes/Google/Gmail/v2/DraftDescription.js.map +1 -1
- package/dist/nodes/Google/Gmail/v2/GmailV2.node.js +4 -0
- package/dist/nodes/Google/Gmail/v2/GmailV2.node.js.map +1 -1
- package/dist/nodes/Google/Gmail/v2/utils/draft.js +44 -0
- package/dist/nodes/Google/Gmail/v2/utils/draft.js.map +1 -0
- package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js +10 -4
- package/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js.map +1 -1
- package/dist/nodes/HttpRequest/V3/utils/binaryData.js +37 -0
- package/dist/nodes/HttpRequest/V3/utils/binaryData.js.map +1 -0
- package/dist/nodes/HttpRequest/V3/utils/parse.js +34 -0
- package/dist/nodes/HttpRequest/V3/utils/parse.js.map +1 -0
- package/dist/nodes/Linear/CommentDescription.js +105 -0
- package/dist/nodes/Linear/CommentDescription.js.map +1 -0
- package/dist/nodes/Linear/IssueDescription.js +23 -1
- package/dist/nodes/Linear/IssueDescription.js.map +1 -1
- package/dist/nodes/Linear/Linear.node.js +37 -0
- package/dist/nodes/Linear/Linear.node.js.map +1 -1
- package/dist/nodes/Linear/Queries.js +17 -0
- package/dist/nodes/Linear/Queries.js.map +1 -1
- package/dist/nodes/Linear/test/workflow/apiRequest.js +280 -0
- package/dist/nodes/Linear/test/workflow/apiRequest.js.map +1 -0
- package/dist/nodes/Linear/test/workflow/apiResponses.js +198 -0
- package/dist/nodes/Linear/test/workflow/apiResponses.js.map +1 -0
- package/dist/nodes/Postgres/transport/index.js +55 -60
- package/dist/nodes/Postgres/transport/index.js.map +1 -1
- package/dist/nodes/Wait/Wait.node.js +1 -1
- package/dist/nodes/Wait/Wait.node.js.map +1 -1
- package/dist/types/nodes.json +4 -4
- package/dist/utils/connection-pool-manager.js +42 -30
- package/dist/utils/connection-pool-manager.js.map +1 -1
- package/dist/utils/sendAndWait/utils.js +1 -1
- package/dist/utils/sendAndWait/utils.js.map +1 -1
- package/package.json +7 -7
- package/dist/nodes/Form/utils/formCompletionUtils.js.map +0 -1
- package/dist/nodes/Form/utils/formNodeUtils.js.map +0 -1
- package/dist/nodes/Form/utils/utils.js.map +0 -1
- /package/dist/nodes/Form/{utils/formCompletionUtils.js → formCompletionUtils.js} +0 -0
- /package/dist/nodes/Form/{utils/formNodeUtils.js → formNodeUtils.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../nodes/HttpRequest/V3/HttpRequestV3.node.ts"],"sourcesContent":["import set from 'lodash/set';\nimport type {\n\tIBinaryKeyData,\n\tIDataObject,\n\tIExecuteFunctions,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeBaseDescription,\n\tINodeTypeDescription,\n\tIRequestOptionsSimplified,\n\tPaginationOptions,\n\tJsonObject,\n\tIRequestOptions,\n\tIHttpRequestMethods,\n} from 'n8n-workflow';\nimport {\n\tBINARY_ENCODING,\n\tNodeApiError,\n\tNodeConnectionTypes,\n\tNodeOperationError,\n\tjsonParse,\n\tremoveCircularRefs,\n\tsleep,\n} from 'n8n-workflow';\nimport type { Readable } from 'stream';\n\nimport { keysToLowercase } from '@utils/utilities';\n\nimport { mainProperties } from './Description';\nimport type { BodyParameter, IAuthDataSanitizeKeys } from '../GenericFunctions';\nimport {\n\tbinaryContentTypes,\n\tgetOAuth2AdditionalParameters,\n\tgetSecrets,\n\tprepareRequestBody,\n\treduceAsync,\n\treplaceNullValues,\n\tsanitizeUiMessage,\n\tsetAgentOptions,\n} from '../GenericFunctions';\nimport { configureResponseOptimizer } from '../shared/optimizeResponse';\n\nfunction toText<T>(data: T) {\n\tif (typeof data === 'object' && data !== null) {\n\t\treturn JSON.stringify(data);\n\t}\n\treturn data;\n}\nexport class HttpRequestV3 implements INodeType {\n\tdescription: INodeTypeDescription;\n\n\tconstructor(baseDescription: INodeTypeBaseDescription) {\n\t\tthis.description = {\n\t\t\t...baseDescription,\n\t\t\tsubtitle: '={{$parameter[\"method\"] + \": \" + $parameter[\"url\"]}}',\n\t\t\tversion: [3, 4, 4.1, 4.2],\n\t\t\tdefaults: {\n\t\t\t\tname: 'HTTP Request',\n\t\t\t\tcolor: '#0004F5',\n\t\t\t},\n\t\t\tinputs: [NodeConnectionTypes.Main],\n\t\t\toutputs: [NodeConnectionTypes.Main],\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\tname: 'httpSslAuth',\n\t\t\t\t\trequired: true,\n\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\tprovideSslCertificates: [true],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tusableAsTool: {\n\t\t\t\treplacements: {\n\t\t\t\t\tcodex: {\n\t\t\t\t\t\tsubcategories: {\n\t\t\t\t\t\t\tTools: ['Recommended Tools'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tproperties: mainProperties,\n\t\t};\n\t}\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst nodeVersion = this.getNode().typeVersion;\n\n\t\tconst fullResponseProperties = ['body', 'headers', 'statusCode', 'statusMessage'];\n\n\t\tlet authentication;\n\n\t\ttry {\n\t\t\tauthentication = this.getNodeParameter('authentication', 0) as\n\t\t\t\t| 'predefinedCredentialType'\n\t\t\t\t| 'genericCredentialType'\n\t\t\t\t| 'none';\n\t\t} catch {}\n\n\t\tlet httpBasicAuth;\n\t\tlet httpBearerAuth;\n\t\tlet httpDigestAuth;\n\t\tlet httpHeaderAuth;\n\t\tlet httpQueryAuth;\n\t\tlet httpCustomAuth;\n\t\tlet oAuth1Api;\n\t\tlet oAuth2Api;\n\t\tlet sslCertificates;\n\t\tlet nodeCredentialType: string | undefined;\n\t\tlet genericCredentialType: string | undefined;\n\n\t\tlet requestOptions: IRequestOptions = {\n\t\t\turi: '',\n\t\t};\n\n\t\tlet returnItems: INodeExecutionData[] = [];\n\t\tconst errorItems: { [key: string]: string } = {};\n\t\tconst requestPromises = [];\n\n\t\tlet fullResponse = false;\n\n\t\tlet autoDetectResponseFormat = false;\n\n\t\t// Can not be defined on a per item level\n\t\tconst pagination = this.getNodeParameter('options.pagination.pagination', 0, null, {\n\t\t\trawExpressions: true,\n\t\t}) as {\n\t\t\tpaginationMode: 'off' | 'updateAParameterInEachRequest' | 'responseContainsNextURL';\n\t\t\tnextURL?: string;\n\t\t\tparameters: {\n\t\t\t\tparameters: Array<{\n\t\t\t\t\ttype: 'body' | 'headers' | 'qs';\n\t\t\t\t\tname: string;\n\t\t\t\t\tvalue: string;\n\t\t\t\t}>;\n\t\t\t};\n\t\t\tpaginationCompleteWhen: 'responseIsEmpty' | 'receiveSpecificStatusCodes' | 'other';\n\t\t\tstatusCodesWhenComplete: string;\n\t\t\tcompleteExpression: string;\n\t\t\tlimitPagesFetched: boolean;\n\t\t\tmaxRequests: number;\n\t\t\trequestInterval: number;\n\t\t};\n\n\t\tconst requests: Array<{\n\t\t\toptions: IRequestOptions;\n\t\t\tauthKeys: IAuthDataSanitizeKeys;\n\t\t\tcredentialType?: string;\n\t\t}> = [];\n\n\t\tfor (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n\t\t\ttry {\n\t\t\t\tif (authentication === 'genericCredentialType') {\n\t\t\t\t\tgenericCredentialType = this.getNodeParameter('genericAuthType', 0) as string;\n\n\t\t\t\t\tif (genericCredentialType === 'httpBasicAuth') {\n\t\t\t\t\t\thttpBasicAuth = await this.getCredentials('httpBasicAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpBearerAuth') {\n\t\t\t\t\t\thttpBearerAuth = await this.getCredentials('httpBearerAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpDigestAuth') {\n\t\t\t\t\t\thttpDigestAuth = await this.getCredentials('httpDigestAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpHeaderAuth') {\n\t\t\t\t\t\thttpHeaderAuth = await this.getCredentials('httpHeaderAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpQueryAuth') {\n\t\t\t\t\t\thttpQueryAuth = await this.getCredentials('httpQueryAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpCustomAuth') {\n\t\t\t\t\t\thttpCustomAuth = await this.getCredentials('httpCustomAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'oAuth1Api') {\n\t\t\t\t\t\toAuth1Api = await this.getCredentials('oAuth1Api', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'oAuth2Api') {\n\t\t\t\t\t\toAuth2Api = await this.getCredentials('oAuth2Api', itemIndex);\n\t\t\t\t\t}\n\t\t\t\t} else if (authentication === 'predefinedCredentialType') {\n\t\t\t\t\tnodeCredentialType = this.getNodeParameter('nodeCredentialType', itemIndex) as string;\n\t\t\t\t}\n\n\t\t\t\tconst provideSslCertificates = this.getNodeParameter(\n\t\t\t\t\t'provideSslCertificates',\n\t\t\t\t\titemIndex,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\n\t\t\t\tif (provideSslCertificates) {\n\t\t\t\t\tsslCertificates = await this.getCredentials('httpSslAuth', itemIndex);\n\t\t\t\t}\n\n\t\t\t\tconst requestMethod = this.getNodeParameter('method', itemIndex) as IHttpRequestMethods;\n\n\t\t\t\tconst sendQuery = this.getNodeParameter('sendQuery', itemIndex, false) as boolean;\n\t\t\t\tconst queryParameters = this.getNodeParameter(\n\t\t\t\t\t'queryParameters.parameters',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t[],\n\t\t\t\t) as [{ name: string; value: string }];\n\t\t\t\tconst specifyQuery = this.getNodeParameter('specifyQuery', itemIndex, 'keypair') as string;\n\t\t\t\tconst jsonQueryParameter = this.getNodeParameter('jsonQuery', itemIndex, '') as string;\n\n\t\t\t\tconst sendBody = this.getNodeParameter('sendBody', itemIndex, false) as boolean;\n\t\t\t\tconst bodyContentType = this.getNodeParameter('contentType', itemIndex, '') as string;\n\t\t\t\tconst specifyBody = this.getNodeParameter('specifyBody', itemIndex, '') as string;\n\t\t\t\tconst bodyParameters = this.getNodeParameter(\n\t\t\t\t\t'bodyParameters.parameters',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t[],\n\t\t\t\t) as BodyParameter[];\n\t\t\t\tconst jsonBodyParameter = this.getNodeParameter('jsonBody', itemIndex, '') as string;\n\t\t\t\tconst body = this.getNodeParameter('body', itemIndex, '') as string;\n\n\t\t\t\tconst sendHeaders = this.getNodeParameter('sendHeaders', itemIndex, false) as boolean;\n\n\t\t\t\tconst headerParameters = this.getNodeParameter(\n\t\t\t\t\t'headerParameters.parameters',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t[],\n\t\t\t\t) as [{ name: string; value: string }];\n\n\t\t\t\tconst specifyHeaders = this.getNodeParameter(\n\t\t\t\t\t'specifyHeaders',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t'keypair',\n\t\t\t\t) as string;\n\n\t\t\t\tconst jsonHeadersParameter = this.getNodeParameter('jsonHeaders', itemIndex, '') as string;\n\n\t\t\t\tconst {\n\t\t\t\t\tredirect,\n\t\t\t\t\tbatching,\n\t\t\t\t\tproxy,\n\t\t\t\t\ttimeout,\n\t\t\t\t\tallowUnauthorizedCerts,\n\t\t\t\t\tqueryParameterArrays,\n\t\t\t\t\tresponse,\n\t\t\t\t\tlowercaseHeaders,\n\t\t\t\t} = this.getNodeParameter('options', itemIndex, {}) as {\n\t\t\t\t\tbatching: { batch: { batchSize: number; batchInterval: number } };\n\t\t\t\t\tproxy: string;\n\t\t\t\t\ttimeout: number;\n\t\t\t\t\tallowUnauthorizedCerts: boolean;\n\t\t\t\t\tqueryParameterArrays: 'indices' | 'brackets' | 'repeat';\n\t\t\t\t\tresponse: {\n\t\t\t\t\t\tresponse: { neverError: boolean; responseFormat: string; fullResponse: boolean };\n\t\t\t\t\t};\n\t\t\t\t\tredirect: { redirect: { maxRedirects: number; followRedirects: boolean } };\n\t\t\t\t\tlowercaseHeaders: boolean;\n\t\t\t\t};\n\n\t\t\t\tconst url = this.getNodeParameter('url', itemIndex) as string;\n\n\t\t\t\tconst responseFormat = response?.response?.responseFormat || 'autodetect';\n\n\t\t\t\tfullResponse = response?.response?.fullResponse || false;\n\n\t\t\t\tautoDetectResponseFormat = responseFormat === 'autodetect';\n\n\t\t\t\t// defaults batch size to 1 of it's set to 0\n\t\t\t\tconst batchSize = batching?.batch?.batchSize > 0 ? batching?.batch?.batchSize : 1;\n\t\t\t\tconst batchInterval = batching?.batch.batchInterval;\n\n\t\t\t\tif (itemIndex > 0 && batchSize >= 0 && batchInterval > 0) {\n\t\t\t\t\tif (itemIndex % batchSize === 0) {\n\t\t\t\t\t\tawait sleep(batchInterval);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\trequestOptions = {\n\t\t\t\t\theaders: {},\n\t\t\t\t\tmethod: requestMethod,\n\t\t\t\t\turi: url,\n\t\t\t\t\tgzip: true,\n\t\t\t\t\trejectUnauthorized: !allowUnauthorizedCerts || false,\n\t\t\t\t\tfollowRedirect: false,\n\t\t\t\t\tresolveWithFullResponse: true,\n\t\t\t\t};\n\n\t\t\t\tif (requestOptions.method !== 'GET' && nodeVersion >= 4.1) {\n\t\t\t\t\trequestOptions = { ...requestOptions, followAllRedirects: false };\n\t\t\t\t}\n\n\t\t\t\tconst defaultRedirect = nodeVersion >= 4 && redirect === undefined;\n\n\t\t\t\tif (redirect?.redirect?.followRedirects || defaultRedirect) {\n\t\t\t\t\trequestOptions.followRedirect = true;\n\t\t\t\t\trequestOptions.followAllRedirects = true;\n\t\t\t\t}\n\n\t\t\t\tif (redirect?.redirect?.maxRedirects || defaultRedirect) {\n\t\t\t\t\trequestOptions.maxRedirects = redirect?.redirect?.maxRedirects;\n\t\t\t\t}\n\n\t\t\t\tif (response?.response?.neverError) {\n\t\t\t\t\trequestOptions.simple = false;\n\t\t\t\t}\n\n\t\t\t\tif (proxy) {\n\t\t\t\t\trequestOptions.proxy = proxy;\n\t\t\t\t}\n\n\t\t\t\tif (timeout) {\n\t\t\t\t\trequestOptions.timeout = timeout;\n\t\t\t\t} else {\n\t\t\t\t\t// set default timeout to 5 minutes\n\t\t\t\t\trequestOptions.timeout = 300_000;\n\t\t\t\t}\n\t\t\t\tif (sendQuery && queryParameterArrays) {\n\t\t\t\t\tObject.assign(requestOptions, {\n\t\t\t\t\t\tqsStringifyOptions: { arrayFormat: queryParameterArrays },\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst parametersToKeyValue = async (\n\t\t\t\t\taccumulator: { [key: string]: any },\n\t\t\t\t\tcur: { name: string; value: string; parameterType?: string; inputDataFieldName?: string },\n\t\t\t\t) => {\n\t\t\t\t\tif (cur.parameterType === 'formBinaryData') {\n\t\t\t\t\t\tif (!cur.inputDataFieldName) return accumulator;\n\t\t\t\t\t\tconst binaryData = this.helpers.assertBinaryData(itemIndex, cur.inputDataFieldName);\n\t\t\t\t\t\tlet uploadData: Buffer | Readable;\n\t\t\t\t\t\tconst itemBinaryData = items[itemIndex].binary![cur.inputDataFieldName];\n\t\t\t\t\t\tif (itemBinaryData.id) {\n\t\t\t\t\t\t\tuploadData = await this.helpers.getBinaryStream(itemBinaryData.id);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\taccumulator[cur.name] = {\n\t\t\t\t\t\t\tvalue: uploadData,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tfilename: binaryData.fileName,\n\t\t\t\t\t\t\t\tcontentType: binaryData.mimeType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[cur.name] = cur.value;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t};\n\n\t\t\t\t// Get parameters defined in the UI\n\t\t\t\tif (sendBody && bodyParameters) {\n\t\t\t\t\tif (specifyBody === 'keypair' || bodyContentType === 'multipart-form-data') {\n\t\t\t\t\t\trequestOptions.body = await prepareRequestBody(\n\t\t\t\t\t\t\tbodyParameters,\n\t\t\t\t\t\t\tbodyContentType,\n\t\t\t\t\t\t\tnodeVersion,\n\t\t\t\t\t\t\tparametersToKeyValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (specifyBody === 'json') {\n\t\t\t\t\t\t// body is specified using JSON\n\t\t\t\t\t\tif (typeof jsonBodyParameter !== 'object' && jsonBodyParameter !== null) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tJSON.parse(jsonBodyParameter);\n\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t'JSON parameter needs to be valid JSON',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\trequestOptions.body = jsonParse(jsonBodyParameter);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trequestOptions.body = jsonBodyParameter;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (specifyBody === 'string') {\n\t\t\t\t\t\t//form urlencoded\n\t\t\t\t\t\trequestOptions.body = Object.fromEntries(new URLSearchParams(body));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Change the way data get send in case a different content-type than JSON got selected\n\t\t\t\tif (sendBody && ['PATCH', 'POST', 'PUT', 'GET'].includes(requestMethod)) {\n\t\t\t\t\tif (bodyContentType === 'multipart-form-data') {\n\t\t\t\t\t\trequestOptions.formData = requestOptions.body as IDataObject;\n\t\t\t\t\t\tdelete requestOptions.body;\n\t\t\t\t\t} else if (bodyContentType === 'form-urlencoded') {\n\t\t\t\t\t\trequestOptions.form = requestOptions.body as IDataObject;\n\t\t\t\t\t\tdelete requestOptions.body;\n\t\t\t\t\t} else if (bodyContentType === 'binaryData') {\n\t\t\t\t\t\tconst inputDataFieldName = this.getNodeParameter(\n\t\t\t\t\t\t\t'inputDataFieldName',\n\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t) as string;\n\n\t\t\t\t\t\tlet uploadData: Buffer | Readable;\n\t\t\t\t\t\tlet contentLength: number;\n\n\t\t\t\t\t\tconst itemBinaryData = this.helpers.assertBinaryData(itemIndex, inputDataFieldName);\n\n\t\t\t\t\t\tif (itemBinaryData.id) {\n\t\t\t\t\t\t\tuploadData = await this.helpers.getBinaryStream(itemBinaryData.id);\n\t\t\t\t\t\t\tconst metadata = await this.helpers.getBinaryMetadata(itemBinaryData.id);\n\t\t\t\t\t\t\tcontentLength = metadata.fileSize;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING);\n\t\t\t\t\t\t\tcontentLength = uploadData.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequestOptions.body = uploadData;\n\t\t\t\t\t\trequestOptions.headers = {\n\t\t\t\t\t\t\t...requestOptions.headers,\n\t\t\t\t\t\t\t'content-length': contentLength,\n\t\t\t\t\t\t\t'content-type': itemBinaryData.mimeType ?? 'application/octet-stream',\n\t\t\t\t\t\t};\n\t\t\t\t\t} else if (bodyContentType === 'raw') {\n\t\t\t\t\t\trequestOptions.body = body;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Get parameters defined in the UI\n\t\t\t\tif (sendQuery && queryParameters) {\n\t\t\t\t\tif (specifyQuery === 'keypair') {\n\t\t\t\t\t\trequestOptions.qs = await reduceAsync(queryParameters, parametersToKeyValue);\n\t\t\t\t\t} else if (specifyQuery === 'json') {\n\t\t\t\t\t\t// query is specified using JSON\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tJSON.parse(jsonQueryParameter);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t'JSON parameter needs to be valid JSON',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trequestOptions.qs = jsonParse(jsonQueryParameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Get parameters defined in the UI\n\t\t\t\tif (sendHeaders && headerParameters) {\n\t\t\t\t\tlet additionalHeaders: IDataObject = {};\n\t\t\t\t\tif (specifyHeaders === 'keypair') {\n\t\t\t\t\t\tadditionalHeaders = await reduceAsync(\n\t\t\t\t\t\t\theaderParameters.filter((header) => header.name),\n\t\t\t\t\t\t\tparametersToKeyValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (specifyHeaders === 'json') {\n\t\t\t\t\t\t// body is specified using JSON\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tJSON.parse(jsonHeadersParameter);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t'JSON parameter needs to be valid JSON',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tadditionalHeaders = jsonParse(jsonHeadersParameter);\n\t\t\t\t\t}\n\t\t\t\t\trequestOptions.headers = {\n\t\t\t\t\t\t...requestOptions.headers,\n\t\t\t\t\t\t...(lowercaseHeaders === undefined || lowercaseHeaders\n\t\t\t\t\t\t\t? keysToLowercase(additionalHeaders)\n\t\t\t\t\t\t\t: additionalHeaders),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (autoDetectResponseFormat || responseFormat === 'file') {\n\t\t\t\t\trequestOptions.encoding = null;\n\t\t\t\t\trequestOptions.json = false;\n\t\t\t\t\trequestOptions.useStream = true;\n\t\t\t\t} else if (bodyContentType === 'raw') {\n\t\t\t\t\trequestOptions.json = false;\n\t\t\t\t\trequestOptions.useStream = true;\n\t\t\t\t} else {\n\t\t\t\t\trequestOptions.json = true;\n\t\t\t\t}\n\n\t\t\t\t// Add Content Type if any are set\n\t\t\t\tif (bodyContentType === 'raw') {\n\t\t\t\t\tif (requestOptions.headers === undefined) {\n\t\t\t\t\t\trequestOptions.headers = {};\n\t\t\t\t\t}\n\t\t\t\t\tconst rawContentType = this.getNodeParameter('rawContentType', itemIndex) as string;\n\t\t\t\t\trequestOptions.headers['content-type'] = rawContentType;\n\t\t\t\t}\n\n\t\t\t\tconst authDataKeys: IAuthDataSanitizeKeys = {};\n\n\t\t\t\t// Add SSL certificates if any are set\n\t\t\t\tsetAgentOptions(requestOptions, sslCertificates);\n\t\t\t\tif (requestOptions.agentOptions) {\n\t\t\t\t\tauthDataKeys.agentOptions = Object.keys(requestOptions.agentOptions);\n\t\t\t\t}\n\n\t\t\t\t// Add credentials if any are set\n\t\t\t\tif (httpBasicAuth !== undefined) {\n\t\t\t\t\trequestOptions.auth = {\n\t\t\t\t\t\tuser: httpBasicAuth.user as string,\n\t\t\t\t\t\tpass: httpBasicAuth.password as string,\n\t\t\t\t\t};\n\t\t\t\t\tauthDataKeys.auth = ['pass'];\n\t\t\t\t}\n\t\t\t\tif (httpBearerAuth !== undefined) {\n\t\t\t\t\trequestOptions.headers = requestOptions.headers ?? {};\n\t\t\t\t\trequestOptions.headers.Authorization = `Bearer ${String(httpBearerAuth.token)}`;\n\t\t\t\t\tauthDataKeys.headers = ['Authorization'];\n\t\t\t\t}\n\t\t\t\tif (httpHeaderAuth !== undefined) {\n\t\t\t\t\trequestOptions.headers![httpHeaderAuth.name as string] = httpHeaderAuth.value;\n\t\t\t\t\tauthDataKeys.headers = [httpHeaderAuth.name as string];\n\t\t\t\t}\n\t\t\t\tif (httpQueryAuth !== undefined) {\n\t\t\t\t\tif (!requestOptions.qs) {\n\t\t\t\t\t\trequestOptions.qs = {};\n\t\t\t\t\t}\n\t\t\t\t\trequestOptions.qs[httpQueryAuth.name as string] = httpQueryAuth.value;\n\t\t\t\t\tauthDataKeys.qs = [httpQueryAuth.name as string];\n\t\t\t\t}\n\n\t\t\t\tif (httpDigestAuth !== undefined) {\n\t\t\t\t\trequestOptions.auth = {\n\t\t\t\t\t\tuser: httpDigestAuth.user as string,\n\t\t\t\t\t\tpass: httpDigestAuth.password as string,\n\t\t\t\t\t\tsendImmediately: false,\n\t\t\t\t\t};\n\t\t\t\t\tauthDataKeys.auth = ['pass'];\n\t\t\t\t}\n\t\t\t\tif (httpCustomAuth !== undefined) {\n\t\t\t\t\tconst customAuth = jsonParse<IRequestOptionsSimplified>(\n\t\t\t\t\t\t(httpCustomAuth.json as string) || '{}',\n\t\t\t\t\t\t{ errorMessage: 'Invalid Custom Auth JSON' },\n\t\t\t\t\t);\n\t\t\t\t\tif (customAuth.headers) {\n\t\t\t\t\t\trequestOptions.headers = { ...requestOptions.headers, ...customAuth.headers };\n\t\t\t\t\t\tauthDataKeys.headers = Object.keys(customAuth.headers);\n\t\t\t\t\t}\n\t\t\t\t\tif (customAuth.body) {\n\t\t\t\t\t\trequestOptions.body = { ...(requestOptions.body as IDataObject), ...customAuth.body };\n\t\t\t\t\t\tauthDataKeys.body = Object.keys(customAuth.body);\n\t\t\t\t\t}\n\t\t\t\t\tif (customAuth.qs) {\n\t\t\t\t\t\trequestOptions.qs = { ...requestOptions.qs, ...customAuth.qs };\n\t\t\t\t\t\tauthDataKeys.qs = Object.keys(customAuth.qs);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (requestOptions.headers!.accept === undefined) {\n\t\t\t\t\tif (responseFormat === 'json') {\n\t\t\t\t\t\trequestOptions.headers!.accept = 'application/json,text/*;q=0.99';\n\t\t\t\t\t} else if (responseFormat === 'text') {\n\t\t\t\t\t\trequestOptions.headers!.accept =\n\t\t\t\t\t\t\t'application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, */*;q=0.1';\n\t\t\t\t\t} else {\n\t\t\t\t\t\trequestOptions.headers!.accept =\n\t\t\t\t\t\t\t'application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\trequests.push({\n\t\t\t\t\toptions: requestOptions,\n\t\t\t\t\tauthKeys: authDataKeys,\n\t\t\t\t\tcredentialType: nodeCredentialType,\n\t\t\t\t});\n\n\t\t\t\tif (pagination && pagination.paginationMode !== 'off') {\n\t\t\t\t\tlet continueExpression = '={{false}}';\n\t\t\t\t\tif (pagination.paginationCompleteWhen === 'receiveSpecificStatusCodes') {\n\t\t\t\t\t\t// Split out comma separated list of status codes into array\n\t\t\t\t\t\tconst statusCodesWhenCompleted = pagination.statusCodesWhenComplete\n\t\t\t\t\t\t\t.split(',')\n\t\t\t\t\t\t\t.map((item) => parseInt(item.trim()));\n\n\t\t\t\t\t\tcontinueExpression = `={{ !${JSON.stringify(\n\t\t\t\t\t\t\tstatusCodesWhenCompleted,\n\t\t\t\t\t\t)}.includes($response.statusCode) }}`;\n\t\t\t\t\t} else if (pagination.paginationCompleteWhen === 'responseIsEmpty') {\n\t\t\t\t\t\tcontinueExpression =\n\t\t\t\t\t\t\t'={{ Array.isArray($response.body) ? $response.body.length : !!$response.body }}';\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Other\n\t\t\t\t\t\tif (!pagination.completeExpression.length || pagination.completeExpression[0] !== '=') {\n\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'Invalid or empty Complete Expression');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinueExpression = `={{ !(${pagination.completeExpression.trim().slice(3, -2)}) }}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst paginationData: PaginationOptions = {\n\t\t\t\t\t\tcontinue: continueExpression,\n\t\t\t\t\t\trequest: {},\n\t\t\t\t\t\trequestInterval: pagination.requestInterval,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (pagination.paginationMode === 'updateAParameterInEachRequest') {\n\t\t\t\t\t\t// Iterate over all parameters and add them to the request\n\t\t\t\t\t\tpaginationData.request = {};\n\t\t\t\t\t\tconst { parameters } = pagination.parameters;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tparameters.length === 1 &&\n\t\t\t\t\t\t\tparameters[0].name === '' &&\n\t\t\t\t\t\t\tparameters[0].value === ''\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"At least one entry with 'Name' and 'Value' filled must be included in 'Parameters' to use 'Update a Parameter in Each Request' mode \",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpagination.parameters.parameters.forEach((parameter, index) => {\n\t\t\t\t\t\t\tif (!paginationData.request[parameter.type]) {\n\t\t\t\t\t\t\t\tpaginationData.request[parameter.type] = {};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst parameterName = parameter.name;\n\t\t\t\t\t\t\tif (parameterName === '') {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t`Parameter name must be set for parameter [${index + 1}] in pagination settings`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst parameterValue = parameter.value;\n\t\t\t\t\t\t\tif (parameterValue === '') {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t`Some value must be provided for parameter [${\n\t\t\t\t\t\t\t\t\t\tindex + 1\n\t\t\t\t\t\t\t\t\t}] in pagination settings, omitting it will result in an infinite loop`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpaginationData.request[parameter.type]![parameterName] = parameterValue;\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (pagination.paginationMode === 'responseContainsNextURL') {\n\t\t\t\t\t\tpaginationData.request.url = pagination.nextURL;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (pagination.limitPagesFetched) {\n\t\t\t\t\t\tpaginationData.maxRequests = pagination.maxRequests;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (responseFormat === 'file') {\n\t\t\t\t\t\tpaginationData.binaryResult = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst requestPromise = this.helpers.requestWithAuthenticationPaginated\n\t\t\t\t\t\t.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\tpaginationData,\n\t\t\t\t\t\t\tnodeCredentialType ?? genericCredentialType,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tif (error instanceof NodeOperationError && error.type === 'invalid_url') {\n\t\t\t\t\t\t\t\tconst urlParameterName =\n\t\t\t\t\t\t\t\t\tpagination.paginationMode === 'responseContainsNextURL' ? 'Next URL' : 'URL';\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), error.message, {\n\t\t\t\t\t\t\t\t\tdescription: `Make sure the \"${urlParameterName}\" parameter evaluates to a valid URL.`,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t});\n\t\t\t\t\trequestPromises.push(requestPromise);\n\t\t\t\t} else if (authentication === 'genericCredentialType' || authentication === 'none') {\n\t\t\t\t\tif (oAuth1Api) {\n\t\t\t\t\t\tconst requestOAuth1 = this.helpers.requestOAuth1.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'oAuth1Api',\n\t\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\t);\n\t\t\t\t\t\trequestOAuth1.catch(() => {});\n\t\t\t\t\t\trequestPromises.push(requestOAuth1);\n\t\t\t\t\t} else if (oAuth2Api) {\n\t\t\t\t\t\tconst requestOAuth2 = this.helpers.requestOAuth2.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'oAuth2Api',\n\t\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttokenType: 'Bearer',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t\trequestOAuth2.catch(() => {});\n\t\t\t\t\t\trequestPromises.push(requestOAuth2);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// bearerAuth, queryAuth, headerAuth, digestAuth, none\n\t\t\t\t\t\tconst request = this.helpers.request(requestOptions);\n\t\t\t\t\t\trequest.catch(() => {});\n\t\t\t\t\t\trequestPromises.push(request);\n\t\t\t\t\t}\n\t\t\t\t} else if (authentication === 'predefinedCredentialType' && nodeCredentialType) {\n\t\t\t\t\tconst additionalOAuth2Options = getOAuth2AdditionalParameters(nodeCredentialType);\n\n\t\t\t\t\t// service-specific cred: OAuth1, OAuth2, plain\n\n\t\t\t\t\tconst requestWithAuthentication = this.helpers.requestWithAuthentication.call(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\tnodeCredentialType,\n\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\tadditionalOAuth2Options && { oauth2: additionalOAuth2Options },\n\t\t\t\t\t\titemIndex,\n\t\t\t\t\t);\n\t\t\t\t\trequestWithAuthentication.catch(() => {});\n\t\t\t\t\trequestPromises.push(requestWithAuthentication);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (!this.continueOnFail()) throw error;\n\n\t\t\t\trequestPromises.push(Promise.reject(error).catch(() => {}));\n\n\t\t\t\terrorItems[itemIndex] = error.message;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tconst sanitizedRequests: IDataObject[] = [];\n\t\tconst promisesResponses = await Promise.allSettled(\n\t\t\trequestPromises.map(\n\t\t\t\tasync (requestPromise, itemIndex) =>\n\t\t\t\t\tawait requestPromise\n\t\t\t\t\t\t.then((response) => response)\n\t\t\t\t\t\t.finally(async () => {\n\t\t\t\t\t\t\tif (errorItems[itemIndex]) return;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t// Secrets need to be read after the request because secrets could have changed\n\t\t\t\t\t\t\t\t// For example: OAuth token refresh, preAuthentication\n\t\t\t\t\t\t\t\tconst { options, authKeys, credentialType } = requests[itemIndex];\n\t\t\t\t\t\t\t\tlet secrets: string[] = [];\n\t\t\t\t\t\t\t\tif (credentialType) {\n\t\t\t\t\t\t\t\t\tconst properties = this.getCredentialsProperties(credentialType);\n\t\t\t\t\t\t\t\t\tconst credentials = await this.getCredentials(credentialType, itemIndex);\n\t\t\t\t\t\t\t\t\tsecrets = getSecrets(properties, credentials);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst sanitizedRequestOptions = sanitizeUiMessage(options, authKeys, secrets);\n\t\t\t\t\t\t\t\tsanitizedRequests.push(sanitizedRequestOptions);\n\t\t\t\t\t\t\t\tthis.sendMessageToUI(sanitizedRequestOptions);\n\t\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t\t}),\n\t\t\t),\n\t\t);\n\n\t\tlet responseData: any;\n\t\tfor (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n\t\t\tresponseData = promisesResponses.shift();\n\n\t\t\tif (errorItems[itemIndex]) {\n\t\t\t\treturnItems.push({\n\t\t\t\t\tjson: { error: errorItems[itemIndex] },\n\t\t\t\t\tpairedItem: { item: itemIndex },\n\t\t\t\t});\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (responseData!.status !== 'fulfilled') {\n\t\t\t\tif (responseData.reason.statusCode === 429) {\n\t\t\t\t\tresponseData.reason.message =\n\t\t\t\t\t\t\"Try spacing your requests out using the batching settings under 'Options'\";\n\t\t\t\t}\n\t\t\t\tif (!this.continueOnFail()) {\n\t\t\t\t\tif (autoDetectResponseFormat && responseData.reason.error instanceof Buffer) {\n\t\t\t\t\t\tresponseData.reason.error = Buffer.from(responseData.reason.error as Buffer).toString();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet error;\n\t\t\t\t\tif (responseData?.reason instanceof NodeApiError) {\n\t\t\t\t\t\terror = responseData.reason;\n\t\t\t\t\t\tset(error, 'context.itemIndex', itemIndex);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorData = (\n\t\t\t\t\t\t\tresponseData.reason ? responseData.reason : responseData\n\t\t\t\t\t\t) as JsonObject;\n\t\t\t\t\t\terror = new NodeApiError(this.getNode(), errorData, { itemIndex });\n\t\t\t\t\t}\n\n\t\t\t\t\tset(error, 'context.request', sanitizedRequests[itemIndex]);\n\n\t\t\t\t\tthrow error;\n\t\t\t\t} else {\n\t\t\t\t\tremoveCircularRefs(responseData.reason as JsonObject);\n\t\t\t\t\t// Return the actual reason as error\n\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\terror: responseData.reason,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet responses: any[];\n\t\t\tif (Array.isArray(responseData.value)) {\n\t\t\t\tresponses = responseData.value;\n\t\t\t} else {\n\t\t\t\tresponses = [responseData.value];\n\t\t\t}\n\n\t\t\tlet responseFormat = this.getNodeParameter(\n\t\t\t\t'options.response.response.responseFormat',\n\t\t\t\t0,\n\t\t\t\t'autodetect',\n\t\t\t) as string;\n\n\t\t\tfullResponse = this.getNodeParameter(\n\t\t\t\t'options.response.response.fullResponse',\n\t\t\t\t0,\n\t\t\t\tfalse,\n\t\t\t) as boolean;\n\n\t\t\t// eslint-disable-next-line prefer-const\n\t\t\tfor (let [index, response] of Object.entries(responses)) {\n\t\t\t\tif (response?.request?.constructor.name === 'ClientRequest') delete response.request;\n\n\t\t\t\tif (this.getMode() === 'manual' && index === '0') {\n\t\t\t\t\t// For manual executions save the first response in the context\n\t\t\t\t\t// so that we can use it in the frontend and so make it easier for\n\t\t\t\t\t// the users to create the required pagination expressions\n\t\t\t\t\tconst nodeContext = this.getContext('node');\n\t\t\t\t\tif (pagination && pagination.paginationMode !== 'off') {\n\t\t\t\t\t\tnodeContext.response = responseData.value[0];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnodeContext.response = responseData.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst responseContentType = response.headers['content-type'] ?? '';\n\t\t\t\tif (autoDetectResponseFormat) {\n\t\t\t\t\tif (responseContentType.includes('application/json')) {\n\t\t\t\t\t\tresponseFormat = 'json';\n\t\t\t\t\t\tif (!response.__bodyResolved) {\n\t\t\t\t\t\t\tconst neverError = this.getNodeParameter(\n\t\t\t\t\t\t\t\t'options.response.response.neverError',\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t) as boolean;\n\n\t\t\t\t\t\t\tconst data = await this.helpers.binaryToString(response.body as Buffer | Readable);\n\t\t\t\t\t\t\tresponse.body = jsonParse(data, {\n\t\t\t\t\t\t\t\t...(neverError\n\t\t\t\t\t\t\t\t\t? { fallbackValue: {} }\n\t\t\t\t\t\t\t\t\t: { errorMessage: 'Invalid JSON in response body' }),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (binaryContentTypes.some((e) => responseContentType.includes(e))) {\n\t\t\t\t\t\tresponseFormat = 'file';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresponseFormat = 'text';\n\t\t\t\t\t\tif (!response.__bodyResolved) {\n\t\t\t\t\t\t\tconst data = await this.helpers.binaryToString(response.body as Buffer | Readable);\n\t\t\t\t\t\t\tresponse.body = !data ? undefined : data;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// This is a no-op outside of tool usage\n\t\t\t\tconst optimizeResponse = configureResponseOptimizer(this, itemIndex);\n\n\t\t\t\tif (autoDetectResponseFormat && !fullResponse) {\n\t\t\t\t\tdelete response.headers;\n\t\t\t\t\tdelete response.statusCode;\n\t\t\t\t\tdelete response.statusMessage;\n\t\t\t\t}\n\t\t\t\tif (!fullResponse) {\n\t\t\t\t\tresponse = optimizeResponse(response.body);\n\t\t\t\t} else {\n\t\t\t\t\tresponse.body = optimizeResponse(response.body);\n\t\t\t\t}\n\t\t\t\tif (responseFormat === 'file') {\n\t\t\t\t\tconst outputPropertyName = this.getNodeParameter(\n\t\t\t\t\t\t'options.response.response.outputPropertyName',\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t'data',\n\t\t\t\t\t) as string;\n\n\t\t\t\t\tconst newItem: INodeExecutionData = {\n\t\t\t\t\t\tjson: {},\n\t\t\t\t\t\tbinary: {},\n\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tif (items[itemIndex].binary !== undefined) {\n\t\t\t\t\t\t// Create a shallow copy of the binary data so that the old\n\t\t\t\t\t\t// data references which do not get changed still stay behind\n\t\t\t\t\t\t// but the incoming data does not get changed.\n\t\t\t\t\t\tObject.assign(newItem.binary as IBinaryKeyData, items[itemIndex].binary);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet binaryData: Buffer | Readable;\n\t\t\t\t\tif (fullResponse) {\n\t\t\t\t\t\tconst returnItem: IDataObject = {};\n\t\t\t\t\t\tfor (const property of fullResponseProperties) {\n\t\t\t\t\t\t\tif (property === 'body') {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturnItem[property] = response[property];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnewItem.json = returnItem;\n\t\t\t\t\t\tbinaryData = response?.body;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewItem.json = items[itemIndex].json;\n\t\t\t\t\t\tbinaryData = response;\n\t\t\t\t\t}\n\t\t\t\t\tconst preparedBinaryData = await this.helpers.prepareBinaryData(\n\t\t\t\t\t\tbinaryData,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\tresponseContentType || undefined,\n\t\t\t\t\t);\n\n\t\t\t\t\tif (\n\t\t\t\t\t\t!preparedBinaryData.fileName &&\n\t\t\t\t\t\tpreparedBinaryData.fileExtension &&\n\t\t\t\t\t\ttypeof requestOptions.uri === 'string' &&\n\t\t\t\t\t\trequestOptions.uri.endsWith(preparedBinaryData.fileExtension)\n\t\t\t\t\t) {\n\t\t\t\t\t\tpreparedBinaryData.fileName = requestOptions.uri.split('/').pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tnewItem.binary![outputPropertyName] = preparedBinaryData;\n\n\t\t\t\t\treturnItems.push(newItem);\n\t\t\t\t} else if (responseFormat === 'text') {\n\t\t\t\t\tconst outputPropertyName = this.getNodeParameter(\n\t\t\t\t\t\t'options.response.response.outputPropertyName',\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t'data',\n\t\t\t\t\t) as string;\n\t\t\t\t\tif (fullResponse) {\n\t\t\t\t\t\tconst returnItem: IDataObject = {};\n\t\t\t\t\t\tfor (const property of fullResponseProperties) {\n\t\t\t\t\t\t\tif (property === 'body') {\n\t\t\t\t\t\t\t\treturnItem[outputPropertyName] = toText(response[property]);\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturnItem[property] = response[property];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\tjson: returnItem,\n\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\t\t[outputPropertyName]: toText(response),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// responseFormat: 'json'\n\t\t\t\t\tif (fullResponse) {\n\t\t\t\t\t\tconst returnItem: IDataObject = {};\n\t\t\t\t\t\tfor (const property of fullResponseProperties) {\n\t\t\t\t\t\t\treturnItem[property] = response[property];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (responseFormat === 'json' && typeof returnItem.body === 'string') {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\treturnItem.body = JSON.parse(returnItem.body);\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t'Response body is not valid JSON. Change \"Response Format\" to \"Text\"',\n\t\t\t\t\t\t\t\t\t{ itemIndex },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\tjson: returnItem,\n\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (responseFormat === 'json' && typeof response === 'string') {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (typeof response !== 'object') {\n\t\t\t\t\t\t\t\t\tresponse = JSON.parse(response);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t'Response body is not valid JSON. Change \"Response Format\" to \"Text\"',\n\t\t\t\t\t\t\t\t\t{ itemIndex },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Array.isArray(response)) {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-loop-func\n\t\t\t\t\t\t\tresponse.forEach((item) =>\n\t\t\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\t\t\tjson: item,\n\t\t\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\t\tjson: response,\n\t\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturnItems = returnItems.map(replaceNullValues);\n\n\t\tif (\n\t\t\treturnItems.length === 1 &&\n\t\t\treturnItems[0].json.data &&\n\t\t\tArray.isArray(returnItems[0].json.data)\n\t\t) {\n\t\t\tconst message =\n\t\t\t\t'To split the contents of ‘data’ into separate items for easier processing, add a ‘Split Out’ node after this one';\n\n\t\t\tif (this.addExecutionHints) {\n\t\t\t\tthis.addExecutionHints({\n\t\t\t\t\tmessage,\n\t\t\t\t\tlocation: 'outputPane',\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.logger.info(message);\n\t\t\t}\n\t\t}\n\n\t\treturn [returnItems];\n\t}\n}\n"],"mappings":"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","names":["set"]}
|
|
1
|
+
{"version":3,"sources":["../../../../nodes/HttpRequest/V3/HttpRequestV3.node.ts"],"sourcesContent":["import set from 'lodash/set';\nimport type {\n\tIBinaryKeyData,\n\tIDataObject,\n\tIExecuteFunctions,\n\tINodeExecutionData,\n\tINodeType,\n\tINodeTypeBaseDescription,\n\tINodeTypeDescription,\n\tIRequestOptionsSimplified,\n\tPaginationOptions,\n\tJsonObject,\n\tIRequestOptions,\n\tIHttpRequestMethods,\n} from 'n8n-workflow';\nimport {\n\tBINARY_ENCODING,\n\tNodeApiError,\n\tNodeConnectionTypes,\n\tNodeOperationError,\n\tjsonParse,\n\tremoveCircularRefs,\n\tsleep,\n} from 'n8n-workflow';\nimport type { Readable } from 'stream';\n\nimport { keysToLowercase } from '@utils/utilities';\n\nimport { mainProperties } from './Description';\nimport { setFilename } from './utils/binaryData';\nimport { mimeTypeFromResponse } from './utils/parse';\nimport type { BodyParameter, IAuthDataSanitizeKeys } from '../GenericFunctions';\nimport {\n\tbinaryContentTypes,\n\tgetOAuth2AdditionalParameters,\n\tgetSecrets,\n\tprepareRequestBody,\n\treduceAsync,\n\treplaceNullValues,\n\tsanitizeUiMessage,\n\tsetAgentOptions,\n} from '../GenericFunctions';\nimport { configureResponseOptimizer } from '../shared/optimizeResponse';\n\nfunction toText<T>(data: T) {\n\tif (typeof data === 'object' && data !== null) {\n\t\treturn JSON.stringify(data);\n\t}\n\treturn data;\n}\nexport class HttpRequestV3 implements INodeType {\n\tdescription: INodeTypeDescription;\n\n\tconstructor(baseDescription: INodeTypeBaseDescription) {\n\t\tthis.description = {\n\t\t\t...baseDescription,\n\t\t\tsubtitle: '={{$parameter[\"method\"] + \": \" + $parameter[\"url\"]}}',\n\t\t\tversion: [3, 4, 4.1, 4.2],\n\t\t\tdefaults: {\n\t\t\t\tname: 'HTTP Request',\n\t\t\t\tcolor: '#0004F5',\n\t\t\t},\n\t\t\tinputs: [NodeConnectionTypes.Main],\n\t\t\toutputs: [NodeConnectionTypes.Main],\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\tname: 'httpSslAuth',\n\t\t\t\t\trequired: true,\n\t\t\t\t\tdisplayOptions: {\n\t\t\t\t\t\tshow: {\n\t\t\t\t\t\t\tprovideSslCertificates: [true],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t\tusableAsTool: {\n\t\t\t\treplacements: {\n\t\t\t\t\tcodex: {\n\t\t\t\t\t\tsubcategories: {\n\t\t\t\t\t\t\tTools: ['Recommended Tools'],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tproperties: mainProperties,\n\t\t};\n\t}\n\n\tasync execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]> {\n\t\tconst items = this.getInputData();\n\t\tconst nodeVersion = this.getNode().typeVersion;\n\n\t\tconst fullResponseProperties = ['body', 'headers', 'statusCode', 'statusMessage'];\n\n\t\tlet authentication;\n\n\t\ttry {\n\t\t\tauthentication = this.getNodeParameter('authentication', 0) as\n\t\t\t\t| 'predefinedCredentialType'\n\t\t\t\t| 'genericCredentialType'\n\t\t\t\t| 'none';\n\t\t} catch {}\n\n\t\tlet httpBasicAuth;\n\t\tlet httpBearerAuth;\n\t\tlet httpDigestAuth;\n\t\tlet httpHeaderAuth;\n\t\tlet httpQueryAuth;\n\t\tlet httpCustomAuth;\n\t\tlet oAuth1Api;\n\t\tlet oAuth2Api;\n\t\tlet sslCertificates;\n\t\tlet nodeCredentialType: string | undefined;\n\t\tlet genericCredentialType: string | undefined;\n\n\t\tlet requestOptions: IRequestOptions = {\n\t\t\turi: '',\n\t\t};\n\n\t\tlet returnItems: INodeExecutionData[] = [];\n\t\tconst errorItems: { [key: string]: string } = {};\n\t\tconst requestPromises = [];\n\n\t\tlet fullResponse = false;\n\n\t\tlet autoDetectResponseFormat = false;\n\n\t\tlet responseFileName: string | undefined;\n\n\t\t// Can not be defined on a per item level\n\t\tconst pagination = this.getNodeParameter('options.pagination.pagination', 0, null, {\n\t\t\trawExpressions: true,\n\t\t}) as {\n\t\t\tpaginationMode: 'off' | 'updateAParameterInEachRequest' | 'responseContainsNextURL';\n\t\t\tnextURL?: string;\n\t\t\tparameters: {\n\t\t\t\tparameters: Array<{\n\t\t\t\t\ttype: 'body' | 'headers' | 'qs';\n\t\t\t\t\tname: string;\n\t\t\t\t\tvalue: string;\n\t\t\t\t}>;\n\t\t\t};\n\t\t\tpaginationCompleteWhen: 'responseIsEmpty' | 'receiveSpecificStatusCodes' | 'other';\n\t\t\tstatusCodesWhenComplete: string;\n\t\t\tcompleteExpression: string;\n\t\t\tlimitPagesFetched: boolean;\n\t\t\tmaxRequests: number;\n\t\t\trequestInterval: number;\n\t\t};\n\n\t\tconst requests: Array<{\n\t\t\toptions: IRequestOptions;\n\t\t\tauthKeys: IAuthDataSanitizeKeys;\n\t\t\tcredentialType?: string;\n\t\t}> = [];\n\n\t\tfor (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n\t\t\ttry {\n\t\t\t\tif (authentication === 'genericCredentialType') {\n\t\t\t\t\tgenericCredentialType = this.getNodeParameter('genericAuthType', 0) as string;\n\n\t\t\t\t\tif (genericCredentialType === 'httpBasicAuth') {\n\t\t\t\t\t\thttpBasicAuth = await this.getCredentials('httpBasicAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpBearerAuth') {\n\t\t\t\t\t\thttpBearerAuth = await this.getCredentials('httpBearerAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpDigestAuth') {\n\t\t\t\t\t\thttpDigestAuth = await this.getCredentials('httpDigestAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpHeaderAuth') {\n\t\t\t\t\t\thttpHeaderAuth = await this.getCredentials('httpHeaderAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpQueryAuth') {\n\t\t\t\t\t\thttpQueryAuth = await this.getCredentials('httpQueryAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'httpCustomAuth') {\n\t\t\t\t\t\thttpCustomAuth = await this.getCredentials('httpCustomAuth', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'oAuth1Api') {\n\t\t\t\t\t\toAuth1Api = await this.getCredentials('oAuth1Api', itemIndex);\n\t\t\t\t\t} else if (genericCredentialType === 'oAuth2Api') {\n\t\t\t\t\t\toAuth2Api = await this.getCredentials('oAuth2Api', itemIndex);\n\t\t\t\t\t}\n\t\t\t\t} else if (authentication === 'predefinedCredentialType') {\n\t\t\t\t\tnodeCredentialType = this.getNodeParameter('nodeCredentialType', itemIndex) as string;\n\t\t\t\t}\n\n\t\t\t\tconst provideSslCertificates = this.getNodeParameter(\n\t\t\t\t\t'provideSslCertificates',\n\t\t\t\t\titemIndex,\n\t\t\t\t\tfalse,\n\t\t\t\t);\n\n\t\t\t\tif (provideSslCertificates) {\n\t\t\t\t\tsslCertificates = await this.getCredentials('httpSslAuth', itemIndex);\n\t\t\t\t}\n\n\t\t\t\tconst requestMethod = this.getNodeParameter('method', itemIndex) as IHttpRequestMethods;\n\n\t\t\t\tconst sendQuery = this.getNodeParameter('sendQuery', itemIndex, false) as boolean;\n\t\t\t\tconst queryParameters = this.getNodeParameter(\n\t\t\t\t\t'queryParameters.parameters',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t[],\n\t\t\t\t) as [{ name: string; value: string }];\n\t\t\t\tconst specifyQuery = this.getNodeParameter('specifyQuery', itemIndex, 'keypair') as string;\n\t\t\t\tconst jsonQueryParameter = this.getNodeParameter('jsonQuery', itemIndex, '') as string;\n\n\t\t\t\tconst sendBody = this.getNodeParameter('sendBody', itemIndex, false) as boolean;\n\t\t\t\tconst bodyContentType = this.getNodeParameter('contentType', itemIndex, '') as string;\n\t\t\t\tconst specifyBody = this.getNodeParameter('specifyBody', itemIndex, '') as string;\n\t\t\t\tconst bodyParameters = this.getNodeParameter(\n\t\t\t\t\t'bodyParameters.parameters',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t[],\n\t\t\t\t) as BodyParameter[];\n\t\t\t\tconst jsonBodyParameter = this.getNodeParameter('jsonBody', itemIndex, '') as string;\n\t\t\t\tconst body = this.getNodeParameter('body', itemIndex, '') as string;\n\n\t\t\t\tconst sendHeaders = this.getNodeParameter('sendHeaders', itemIndex, false) as boolean;\n\n\t\t\t\tconst headerParameters = this.getNodeParameter(\n\t\t\t\t\t'headerParameters.parameters',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t[],\n\t\t\t\t) as [{ name: string; value: string }];\n\n\t\t\t\tconst specifyHeaders = this.getNodeParameter(\n\t\t\t\t\t'specifyHeaders',\n\t\t\t\t\titemIndex,\n\t\t\t\t\t'keypair',\n\t\t\t\t) as string;\n\n\t\t\t\tconst jsonHeadersParameter = this.getNodeParameter('jsonHeaders', itemIndex, '') as string;\n\n\t\t\t\tconst {\n\t\t\t\t\tredirect,\n\t\t\t\t\tbatching,\n\t\t\t\t\tproxy,\n\t\t\t\t\ttimeout,\n\t\t\t\t\tallowUnauthorizedCerts,\n\t\t\t\t\tqueryParameterArrays,\n\t\t\t\t\tresponse,\n\t\t\t\t\tlowercaseHeaders,\n\t\t\t\t} = this.getNodeParameter('options', itemIndex, {}) as {\n\t\t\t\t\tbatching: { batch: { batchSize: number; batchInterval: number } };\n\t\t\t\t\tproxy: string;\n\t\t\t\t\ttimeout: number;\n\t\t\t\t\tallowUnauthorizedCerts: boolean;\n\t\t\t\t\tqueryParameterArrays: 'indices' | 'brackets' | 'repeat';\n\t\t\t\t\tresponse: {\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tneverError: boolean;\n\t\t\t\t\t\t\tresponseFormat: string;\n\t\t\t\t\t\t\tfullResponse: boolean;\n\t\t\t\t\t\t\toutputPropertyName: string;\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t\tredirect: { redirect: { maxRedirects: number; followRedirects: boolean } };\n\t\t\t\t\tlowercaseHeaders: boolean;\n\t\t\t\t};\n\n\t\t\t\tresponseFileName = response?.response?.outputPropertyName;\n\n\t\t\t\tconst url = this.getNodeParameter('url', itemIndex) as string;\n\n\t\t\t\tconst responseFormat = response?.response?.responseFormat || 'autodetect';\n\n\t\t\t\tfullResponse = response?.response?.fullResponse || false;\n\n\t\t\t\tautoDetectResponseFormat = responseFormat === 'autodetect';\n\n\t\t\t\t// defaults batch size to 1 of it's set to 0\n\t\t\t\tconst batchSize = batching?.batch?.batchSize > 0 ? batching?.batch?.batchSize : 1;\n\t\t\t\tconst batchInterval = batching?.batch.batchInterval;\n\n\t\t\t\tif (itemIndex > 0 && batchSize >= 0 && batchInterval > 0) {\n\t\t\t\t\tif (itemIndex % batchSize === 0) {\n\t\t\t\t\t\tawait sleep(batchInterval);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\trequestOptions = {\n\t\t\t\t\theaders: {},\n\t\t\t\t\tmethod: requestMethod,\n\t\t\t\t\turi: url,\n\t\t\t\t\tgzip: true,\n\t\t\t\t\trejectUnauthorized: !allowUnauthorizedCerts || false,\n\t\t\t\t\tfollowRedirect: false,\n\t\t\t\t\tresolveWithFullResponse: true,\n\t\t\t\t};\n\n\t\t\t\tif (requestOptions.method !== 'GET' && nodeVersion >= 4.1) {\n\t\t\t\t\trequestOptions = { ...requestOptions, followAllRedirects: false };\n\t\t\t\t}\n\n\t\t\t\tconst defaultRedirect = nodeVersion >= 4 && redirect === undefined;\n\n\t\t\t\tif (redirect?.redirect?.followRedirects || defaultRedirect) {\n\t\t\t\t\trequestOptions.followRedirect = true;\n\t\t\t\t\trequestOptions.followAllRedirects = true;\n\t\t\t\t}\n\n\t\t\t\tif (redirect?.redirect?.maxRedirects || defaultRedirect) {\n\t\t\t\t\trequestOptions.maxRedirects = redirect?.redirect?.maxRedirects;\n\t\t\t\t}\n\n\t\t\t\tif (response?.response?.neverError) {\n\t\t\t\t\trequestOptions.simple = false;\n\t\t\t\t}\n\n\t\t\t\tif (proxy) {\n\t\t\t\t\trequestOptions.proxy = proxy;\n\t\t\t\t}\n\n\t\t\t\tif (timeout) {\n\t\t\t\t\trequestOptions.timeout = timeout;\n\t\t\t\t} else {\n\t\t\t\t\t// set default timeout to 5 minutes\n\t\t\t\t\trequestOptions.timeout = 300_000;\n\t\t\t\t}\n\t\t\t\tif (sendQuery && queryParameterArrays) {\n\t\t\t\t\tObject.assign(requestOptions, {\n\t\t\t\t\t\tqsStringifyOptions: { arrayFormat: queryParameterArrays },\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst parametersToKeyValue = async (\n\t\t\t\t\taccumulator: { [key: string]: any },\n\t\t\t\t\tcur: { name: string; value: string; parameterType?: string; inputDataFieldName?: string },\n\t\t\t\t) => {\n\t\t\t\t\tif (cur.parameterType === 'formBinaryData') {\n\t\t\t\t\t\tif (!cur.inputDataFieldName) return accumulator;\n\t\t\t\t\t\tconst binaryData = this.helpers.assertBinaryData(itemIndex, cur.inputDataFieldName);\n\t\t\t\t\t\tlet uploadData: Buffer | Readable;\n\t\t\t\t\t\tconst itemBinaryData = items[itemIndex].binary![cur.inputDataFieldName];\n\t\t\t\t\t\tif (itemBinaryData.id) {\n\t\t\t\t\t\t\tuploadData = await this.helpers.getBinaryStream(itemBinaryData.id);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\taccumulator[cur.name] = {\n\t\t\t\t\t\t\tvalue: uploadData,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tfilename: binaryData.fileName,\n\t\t\t\t\t\t\t\tcontentType: binaryData.mimeType,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[cur.name] = cur.value;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t};\n\n\t\t\t\t// Get parameters defined in the UI\n\t\t\t\tif (sendBody && bodyParameters) {\n\t\t\t\t\tif (specifyBody === 'keypair' || bodyContentType === 'multipart-form-data') {\n\t\t\t\t\t\trequestOptions.body = await prepareRequestBody(\n\t\t\t\t\t\t\tbodyParameters,\n\t\t\t\t\t\t\tbodyContentType,\n\t\t\t\t\t\t\tnodeVersion,\n\t\t\t\t\t\t\tparametersToKeyValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (specifyBody === 'json') {\n\t\t\t\t\t\t// body is specified using JSON\n\t\t\t\t\t\tif (typeof jsonBodyParameter !== 'object' && jsonBodyParameter !== null) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tJSON.parse(jsonBodyParameter);\n\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t'JSON parameter needs to be valid JSON',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\trequestOptions.body = jsonParse(jsonBodyParameter);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trequestOptions.body = jsonBodyParameter;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (specifyBody === 'string') {\n\t\t\t\t\t\t//form urlencoded\n\t\t\t\t\t\trequestOptions.body = Object.fromEntries(new URLSearchParams(body));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Change the way data get send in case a different content-type than JSON got selected\n\t\t\t\tif (sendBody && ['PATCH', 'POST', 'PUT', 'GET'].includes(requestMethod)) {\n\t\t\t\t\tif (bodyContentType === 'multipart-form-data') {\n\t\t\t\t\t\trequestOptions.formData = requestOptions.body as IDataObject;\n\t\t\t\t\t\tdelete requestOptions.body;\n\t\t\t\t\t} else if (bodyContentType === 'form-urlencoded') {\n\t\t\t\t\t\trequestOptions.form = requestOptions.body as IDataObject;\n\t\t\t\t\t\tdelete requestOptions.body;\n\t\t\t\t\t} else if (bodyContentType === 'binaryData') {\n\t\t\t\t\t\tconst inputDataFieldName = this.getNodeParameter(\n\t\t\t\t\t\t\t'inputDataFieldName',\n\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t) as string;\n\n\t\t\t\t\t\tlet uploadData: Buffer | Readable;\n\t\t\t\t\t\tlet contentLength: number;\n\n\t\t\t\t\t\tconst itemBinaryData = this.helpers.assertBinaryData(itemIndex, inputDataFieldName);\n\n\t\t\t\t\t\tif (itemBinaryData.id) {\n\t\t\t\t\t\t\tuploadData = await this.helpers.getBinaryStream(itemBinaryData.id);\n\t\t\t\t\t\t\tconst metadata = await this.helpers.getBinaryMetadata(itemBinaryData.id);\n\t\t\t\t\t\t\tcontentLength = metadata.fileSize;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tuploadData = Buffer.from(itemBinaryData.data, BINARY_ENCODING);\n\t\t\t\t\t\t\tcontentLength = uploadData.length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequestOptions.body = uploadData;\n\t\t\t\t\t\trequestOptions.headers = {\n\t\t\t\t\t\t\t...requestOptions.headers,\n\t\t\t\t\t\t\t'content-length': contentLength,\n\t\t\t\t\t\t\t'content-type': itemBinaryData.mimeType ?? 'application/octet-stream',\n\t\t\t\t\t\t};\n\t\t\t\t\t} else if (bodyContentType === 'raw') {\n\t\t\t\t\t\trequestOptions.body = body;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Get parameters defined in the UI\n\t\t\t\tif (sendQuery && queryParameters) {\n\t\t\t\t\tif (specifyQuery === 'keypair') {\n\t\t\t\t\t\trequestOptions.qs = await reduceAsync(queryParameters, parametersToKeyValue);\n\t\t\t\t\t} else if (specifyQuery === 'json') {\n\t\t\t\t\t\t// query is specified using JSON\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tJSON.parse(jsonQueryParameter);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t'JSON parameter needs to be valid JSON',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\trequestOptions.qs = jsonParse(jsonQueryParameter);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Get parameters defined in the UI\n\t\t\t\tif (sendHeaders && headerParameters) {\n\t\t\t\t\tlet additionalHeaders: IDataObject = {};\n\t\t\t\t\tif (specifyHeaders === 'keypair') {\n\t\t\t\t\t\tadditionalHeaders = await reduceAsync(\n\t\t\t\t\t\t\theaderParameters.filter((header) => header.name),\n\t\t\t\t\t\t\tparametersToKeyValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (specifyHeaders === 'json') {\n\t\t\t\t\t\t// body is specified using JSON\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tJSON.parse(jsonHeadersParameter);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t'JSON parameter needs to be valid JSON',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tadditionalHeaders = jsonParse(jsonHeadersParameter);\n\t\t\t\t\t}\n\t\t\t\t\trequestOptions.headers = {\n\t\t\t\t\t\t...requestOptions.headers,\n\t\t\t\t\t\t...(lowercaseHeaders === undefined || lowercaseHeaders\n\t\t\t\t\t\t\t? keysToLowercase(additionalHeaders)\n\t\t\t\t\t\t\t: additionalHeaders),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (autoDetectResponseFormat || responseFormat === 'file') {\n\t\t\t\t\trequestOptions.encoding = null;\n\t\t\t\t\trequestOptions.json = false;\n\t\t\t\t\trequestOptions.useStream = true;\n\t\t\t\t} else if (bodyContentType === 'raw') {\n\t\t\t\t\trequestOptions.json = false;\n\t\t\t\t\trequestOptions.useStream = true;\n\t\t\t\t} else {\n\t\t\t\t\trequestOptions.json = true;\n\t\t\t\t}\n\n\t\t\t\t// Add Content Type if any are set\n\t\t\t\tif (bodyContentType === 'raw') {\n\t\t\t\t\tif (requestOptions.headers === undefined) {\n\t\t\t\t\t\trequestOptions.headers = {};\n\t\t\t\t\t}\n\t\t\t\t\tconst rawContentType = this.getNodeParameter('rawContentType', itemIndex) as string;\n\t\t\t\t\trequestOptions.headers['content-type'] = rawContentType;\n\t\t\t\t}\n\n\t\t\t\tconst authDataKeys: IAuthDataSanitizeKeys = {};\n\n\t\t\t\t// Add SSL certificates if any are set\n\t\t\t\tsetAgentOptions(requestOptions, sslCertificates);\n\t\t\t\tif (requestOptions.agentOptions) {\n\t\t\t\t\tauthDataKeys.agentOptions = Object.keys(requestOptions.agentOptions);\n\t\t\t\t}\n\n\t\t\t\t// Add credentials if any are set\n\t\t\t\tif (httpBasicAuth !== undefined) {\n\t\t\t\t\trequestOptions.auth = {\n\t\t\t\t\t\tuser: httpBasicAuth.user as string,\n\t\t\t\t\t\tpass: httpBasicAuth.password as string,\n\t\t\t\t\t};\n\t\t\t\t\tauthDataKeys.auth = ['pass'];\n\t\t\t\t}\n\t\t\t\tif (httpBearerAuth !== undefined) {\n\t\t\t\t\trequestOptions.headers = requestOptions.headers ?? {};\n\t\t\t\t\trequestOptions.headers.Authorization = `Bearer ${String(httpBearerAuth.token)}`;\n\t\t\t\t\tauthDataKeys.headers = ['Authorization'];\n\t\t\t\t}\n\t\t\t\tif (httpHeaderAuth !== undefined) {\n\t\t\t\t\trequestOptions.headers![httpHeaderAuth.name as string] = httpHeaderAuth.value;\n\t\t\t\t\tauthDataKeys.headers = [httpHeaderAuth.name as string];\n\t\t\t\t}\n\t\t\t\tif (httpQueryAuth !== undefined) {\n\t\t\t\t\tif (!requestOptions.qs) {\n\t\t\t\t\t\trequestOptions.qs = {};\n\t\t\t\t\t}\n\t\t\t\t\trequestOptions.qs[httpQueryAuth.name as string] = httpQueryAuth.value;\n\t\t\t\t\tauthDataKeys.qs = [httpQueryAuth.name as string];\n\t\t\t\t}\n\n\t\t\t\tif (httpDigestAuth !== undefined) {\n\t\t\t\t\trequestOptions.auth = {\n\t\t\t\t\t\tuser: httpDigestAuth.user as string,\n\t\t\t\t\t\tpass: httpDigestAuth.password as string,\n\t\t\t\t\t\tsendImmediately: false,\n\t\t\t\t\t};\n\t\t\t\t\tauthDataKeys.auth = ['pass'];\n\t\t\t\t}\n\t\t\t\tif (httpCustomAuth !== undefined) {\n\t\t\t\t\tconst customAuth = jsonParse<IRequestOptionsSimplified>(\n\t\t\t\t\t\t(httpCustomAuth.json as string) || '{}',\n\t\t\t\t\t\t{ errorMessage: 'Invalid Custom Auth JSON' },\n\t\t\t\t\t);\n\t\t\t\t\tif (customAuth.headers) {\n\t\t\t\t\t\trequestOptions.headers = { ...requestOptions.headers, ...customAuth.headers };\n\t\t\t\t\t\tauthDataKeys.headers = Object.keys(customAuth.headers);\n\t\t\t\t\t}\n\t\t\t\t\tif (customAuth.body) {\n\t\t\t\t\t\trequestOptions.body = { ...(requestOptions.body as IDataObject), ...customAuth.body };\n\t\t\t\t\t\tauthDataKeys.body = Object.keys(customAuth.body);\n\t\t\t\t\t}\n\t\t\t\t\tif (customAuth.qs) {\n\t\t\t\t\t\trequestOptions.qs = { ...requestOptions.qs, ...customAuth.qs };\n\t\t\t\t\t\tauthDataKeys.qs = Object.keys(customAuth.qs);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (requestOptions.headers!.accept === undefined) {\n\t\t\t\t\tif (responseFormat === 'json') {\n\t\t\t\t\t\trequestOptions.headers!.accept = 'application/json,text/*;q=0.99';\n\t\t\t\t\t} else if (responseFormat === 'text') {\n\t\t\t\t\t\trequestOptions.headers!.accept =\n\t\t\t\t\t\t\t'application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, */*;q=0.1';\n\t\t\t\t\t} else {\n\t\t\t\t\t\trequestOptions.headers!.accept =\n\t\t\t\t\t\t\t'application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\trequests.push({\n\t\t\t\t\toptions: requestOptions,\n\t\t\t\t\tauthKeys: authDataKeys,\n\t\t\t\t\tcredentialType: nodeCredentialType,\n\t\t\t\t});\n\n\t\t\t\tif (pagination && pagination.paginationMode !== 'off') {\n\t\t\t\t\tlet continueExpression = '={{false}}';\n\t\t\t\t\tif (pagination.paginationCompleteWhen === 'receiveSpecificStatusCodes') {\n\t\t\t\t\t\t// Split out comma separated list of status codes into array\n\t\t\t\t\t\tconst statusCodesWhenCompleted = pagination.statusCodesWhenComplete\n\t\t\t\t\t\t\t.split(',')\n\t\t\t\t\t\t\t.map((item) => parseInt(item.trim()));\n\n\t\t\t\t\t\tcontinueExpression = `={{ !${JSON.stringify(\n\t\t\t\t\t\t\tstatusCodesWhenCompleted,\n\t\t\t\t\t\t)}.includes($response.statusCode) }}`;\n\t\t\t\t\t} else if (pagination.paginationCompleteWhen === 'responseIsEmpty') {\n\t\t\t\t\t\tcontinueExpression =\n\t\t\t\t\t\t\t'={{ Array.isArray($response.body) ? $response.body.length : !!$response.body }}';\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Other\n\t\t\t\t\t\tif (!pagination.completeExpression.length || pagination.completeExpression[0] !== '=') {\n\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), 'Invalid or empty Complete Expression');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontinueExpression = `={{ !(${pagination.completeExpression.trim().slice(3, -2)}) }}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst paginationData: PaginationOptions = {\n\t\t\t\t\t\tcontinue: continueExpression,\n\t\t\t\t\t\trequest: {},\n\t\t\t\t\t\trequestInterval: pagination.requestInterval,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (pagination.paginationMode === 'updateAParameterInEachRequest') {\n\t\t\t\t\t\t// Iterate over all parameters and add them to the request\n\t\t\t\t\t\tpaginationData.request = {};\n\t\t\t\t\t\tconst { parameters } = pagination.parameters;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tparameters.length === 1 &&\n\t\t\t\t\t\t\tparameters[0].name === '' &&\n\t\t\t\t\t\t\tparameters[0].value === ''\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\"At least one entry with 'Name' and 'Value' filled must be included in 'Parameters' to use 'Update a Parameter in Each Request' mode \",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpagination.parameters.parameters.forEach((parameter, index) => {\n\t\t\t\t\t\t\tif (!paginationData.request[parameter.type]) {\n\t\t\t\t\t\t\t\tpaginationData.request[parameter.type] = {};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst parameterName = parameter.name;\n\t\t\t\t\t\t\tif (parameterName === '') {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t`Parameter name must be set for parameter [${index + 1}] in pagination settings`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst parameterValue = parameter.value;\n\t\t\t\t\t\t\tif (parameterValue === '') {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t`Some value must be provided for parameter [${\n\t\t\t\t\t\t\t\t\t\tindex + 1\n\t\t\t\t\t\t\t\t\t}] in pagination settings, omitting it will result in an infinite loop`,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpaginationData.request[parameter.type]![parameterName] = parameterValue;\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (pagination.paginationMode === 'responseContainsNextURL') {\n\t\t\t\t\t\tpaginationData.request.url = pagination.nextURL;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (pagination.limitPagesFetched) {\n\t\t\t\t\t\tpaginationData.maxRequests = pagination.maxRequests;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (responseFormat === 'file') {\n\t\t\t\t\t\tpaginationData.binaryResult = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst requestPromise = this.helpers.requestWithAuthenticationPaginated\n\t\t\t\t\t\t.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\t\titemIndex,\n\t\t\t\t\t\t\tpaginationData,\n\t\t\t\t\t\t\tnodeCredentialType ?? genericCredentialType,\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tif (error instanceof NodeOperationError && error.type === 'invalid_url') {\n\t\t\t\t\t\t\t\tconst urlParameterName =\n\t\t\t\t\t\t\t\t\tpagination.paginationMode === 'responseContainsNextURL' ? 'Next URL' : 'URL';\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(this.getNode(), error.message, {\n\t\t\t\t\t\t\t\t\tdescription: `Make sure the \"${urlParameterName}\" parameter evaluates to a valid URL.`,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t});\n\t\t\t\t\trequestPromises.push(requestPromise);\n\t\t\t\t} else if (authentication === 'genericCredentialType' || authentication === 'none') {\n\t\t\t\t\tif (oAuth1Api) {\n\t\t\t\t\t\tconst requestOAuth1 = this.helpers.requestOAuth1.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'oAuth1Api',\n\t\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\t);\n\t\t\t\t\t\trequestOAuth1.catch(() => {});\n\t\t\t\t\t\trequestPromises.push(requestOAuth1);\n\t\t\t\t\t} else if (oAuth2Api) {\n\t\t\t\t\t\tconst requestOAuth2 = this.helpers.requestOAuth2.call(\n\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t'oAuth2Api',\n\t\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttokenType: 'Bearer',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t\trequestOAuth2.catch(() => {});\n\t\t\t\t\t\trequestPromises.push(requestOAuth2);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// bearerAuth, queryAuth, headerAuth, digestAuth, none\n\t\t\t\t\t\tconst request = this.helpers.request(requestOptions);\n\t\t\t\t\t\trequest.catch(() => {});\n\t\t\t\t\t\trequestPromises.push(request);\n\t\t\t\t\t}\n\t\t\t\t} else if (authentication === 'predefinedCredentialType' && nodeCredentialType) {\n\t\t\t\t\tconst additionalOAuth2Options = getOAuth2AdditionalParameters(nodeCredentialType);\n\n\t\t\t\t\t// service-specific cred: OAuth1, OAuth2, plain\n\n\t\t\t\t\tconst requestWithAuthentication = this.helpers.requestWithAuthentication.call(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\tnodeCredentialType,\n\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\tadditionalOAuth2Options && { oauth2: additionalOAuth2Options },\n\t\t\t\t\t\titemIndex,\n\t\t\t\t\t);\n\t\t\t\t\trequestWithAuthentication.catch(() => {});\n\t\t\t\t\trequestPromises.push(requestWithAuthentication);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (!this.continueOnFail()) throw error;\n\n\t\t\t\trequestPromises.push(Promise.reject(error).catch(() => {}));\n\n\t\t\t\terrorItems[itemIndex] = error.message;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tconst sanitizedRequests: IDataObject[] = [];\n\t\tconst promisesResponses = await Promise.allSettled(\n\t\t\trequestPromises.map(\n\t\t\t\tasync (requestPromise, itemIndex) =>\n\t\t\t\t\tawait requestPromise\n\t\t\t\t\t\t.then((response) => response)\n\t\t\t\t\t\t.finally(async () => {\n\t\t\t\t\t\t\tif (errorItems[itemIndex]) return;\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t// Secrets need to be read after the request because secrets could have changed\n\t\t\t\t\t\t\t\t// For example: OAuth token refresh, preAuthentication\n\t\t\t\t\t\t\t\tconst { options, authKeys, credentialType } = requests[itemIndex];\n\t\t\t\t\t\t\t\tlet secrets: string[] = [];\n\t\t\t\t\t\t\t\tif (credentialType) {\n\t\t\t\t\t\t\t\t\tconst properties = this.getCredentialsProperties(credentialType);\n\t\t\t\t\t\t\t\t\tconst credentials = await this.getCredentials(credentialType, itemIndex);\n\t\t\t\t\t\t\t\t\tsecrets = getSecrets(properties, credentials);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst sanitizedRequestOptions = sanitizeUiMessage(options, authKeys, secrets);\n\t\t\t\t\t\t\t\tsanitizedRequests.push(sanitizedRequestOptions);\n\t\t\t\t\t\t\t\tthis.sendMessageToUI(sanitizedRequestOptions);\n\t\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t\t}),\n\t\t\t),\n\t\t);\n\n\t\tlet responseData: any;\n\t\tfor (let itemIndex = 0; itemIndex < items.length; itemIndex++) {\n\t\t\tresponseData = promisesResponses.shift();\n\n\t\t\tif (errorItems[itemIndex]) {\n\t\t\t\treturnItems.push({\n\t\t\t\t\tjson: { error: errorItems[itemIndex] },\n\t\t\t\t\tpairedItem: { item: itemIndex },\n\t\t\t\t});\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (responseData!.status !== 'fulfilled') {\n\t\t\t\tif (responseData.reason.statusCode === 429) {\n\t\t\t\t\tresponseData.reason.message =\n\t\t\t\t\t\t\"Try spacing your requests out using the batching settings under 'Options'\";\n\t\t\t\t}\n\t\t\t\tif (!this.continueOnFail()) {\n\t\t\t\t\tif (autoDetectResponseFormat && responseData.reason.error instanceof Buffer) {\n\t\t\t\t\t\tresponseData.reason.error = Buffer.from(responseData.reason.error as Buffer).toString();\n\t\t\t\t\t}\n\n\t\t\t\t\tlet error;\n\t\t\t\t\tif (responseData?.reason instanceof NodeApiError) {\n\t\t\t\t\t\terror = responseData.reason;\n\t\t\t\t\t\tset(error, 'context.itemIndex', itemIndex);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst errorData = (\n\t\t\t\t\t\t\tresponseData.reason ? responseData.reason : responseData\n\t\t\t\t\t\t) as JsonObject;\n\t\t\t\t\t\terror = new NodeApiError(this.getNode(), errorData, { itemIndex });\n\t\t\t\t\t}\n\n\t\t\t\t\tset(error, 'context.request', sanitizedRequests[itemIndex]);\n\n\t\t\t\t\tthrow error;\n\t\t\t\t} else {\n\t\t\t\t\tremoveCircularRefs(responseData.reason as JsonObject);\n\t\t\t\t\t// Return the actual reason as error\n\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\terror: responseData.reason,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet responses: any[];\n\t\t\tif (Array.isArray(responseData.value)) {\n\t\t\t\tresponses = responseData.value;\n\t\t\t} else {\n\t\t\t\tresponses = [responseData.value];\n\t\t\t}\n\n\t\t\tlet responseFormat = this.getNodeParameter(\n\t\t\t\t'options.response.response.responseFormat',\n\t\t\t\t0,\n\t\t\t\t'autodetect',\n\t\t\t) as string;\n\n\t\t\tfullResponse = this.getNodeParameter(\n\t\t\t\t'options.response.response.fullResponse',\n\t\t\t\t0,\n\t\t\t\tfalse,\n\t\t\t) as boolean;\n\n\t\t\t// eslint-disable-next-line prefer-const\n\t\t\tfor (let [index, response] of Object.entries(responses)) {\n\t\t\t\tif (response?.request?.constructor.name === 'ClientRequest') delete response.request;\n\n\t\t\t\tif (this.getMode() === 'manual' && index === '0') {\n\t\t\t\t\t// For manual executions save the first response in the context\n\t\t\t\t\t// so that we can use it in the frontend and so make it easier for\n\t\t\t\t\t// the users to create the required pagination expressions\n\t\t\t\t\tconst nodeContext = this.getContext('node');\n\t\t\t\t\tif (pagination && pagination.paginationMode !== 'off') {\n\t\t\t\t\t\tnodeContext.response = responseData.value[0];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnodeContext.response = responseData.value;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst responseContentType = response.headers['content-type'] ?? '';\n\t\t\t\tif (autoDetectResponseFormat) {\n\t\t\t\t\tif (responseContentType.includes('application/json')) {\n\t\t\t\t\t\tresponseFormat = 'json';\n\t\t\t\t\t\tif (!response.__bodyResolved) {\n\t\t\t\t\t\t\tconst neverError = this.getNodeParameter(\n\t\t\t\t\t\t\t\t'options.response.response.neverError',\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t) as boolean;\n\n\t\t\t\t\t\t\tconst data = await this.helpers.binaryToString(response.body as Buffer | Readable);\n\t\t\t\t\t\t\tresponse.body = jsonParse(data, {\n\t\t\t\t\t\t\t\t...(neverError\n\t\t\t\t\t\t\t\t\t? { fallbackValue: {} }\n\t\t\t\t\t\t\t\t\t: { errorMessage: 'Invalid JSON in response body' }),\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (binaryContentTypes.some((e) => responseContentType.includes(e))) {\n\t\t\t\t\t\tresponseFormat = 'file';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresponseFormat = 'text';\n\t\t\t\t\t\tif (!response.__bodyResolved) {\n\t\t\t\t\t\t\tconst data = await this.helpers.binaryToString(response.body as Buffer | Readable);\n\t\t\t\t\t\t\tresponse.body = !data ? undefined : data;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// This is a no-op outside of tool usage\n\t\t\t\tconst optimizeResponse = configureResponseOptimizer(this, itemIndex);\n\n\t\t\t\tif (autoDetectResponseFormat && !fullResponse) {\n\t\t\t\t\tdelete response.headers;\n\t\t\t\t\tdelete response.statusCode;\n\t\t\t\t\tdelete response.statusMessage;\n\t\t\t\t}\n\t\t\t\tif (!fullResponse) {\n\t\t\t\t\tresponse = optimizeResponse(response.body);\n\t\t\t\t} else {\n\t\t\t\t\tresponse.body = optimizeResponse(response.body);\n\t\t\t\t}\n\t\t\t\tif (responseFormat === 'file') {\n\t\t\t\t\tconst outputPropertyName = this.getNodeParameter(\n\t\t\t\t\t\t'options.response.response.outputPropertyName',\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t'data',\n\t\t\t\t\t) as string;\n\n\t\t\t\t\tconst newItem: INodeExecutionData = {\n\t\t\t\t\t\tjson: {},\n\t\t\t\t\t\tbinary: {},\n\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tif (items[itemIndex].binary !== undefined) {\n\t\t\t\t\t\t// Create a shallow copy of the binary data so that the old\n\t\t\t\t\t\t// data references which do not get changed still stay behind\n\t\t\t\t\t\t// but the incoming data does not get changed.\n\t\t\t\t\t\tObject.assign(newItem.binary as IBinaryKeyData, items[itemIndex].binary);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet binaryData: Buffer | Readable;\n\t\t\t\t\tif (fullResponse) {\n\t\t\t\t\t\tconst returnItem: IDataObject = {};\n\t\t\t\t\t\tfor (const property of fullResponseProperties) {\n\t\t\t\t\t\t\tif (property === 'body') {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturnItem[property] = response[property];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tnewItem.json = returnItem;\n\t\t\t\t\t\tbinaryData = response?.body;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewItem.json = items[itemIndex].json;\n\t\t\t\t\t\tbinaryData = response;\n\t\t\t\t\t}\n\t\t\t\t\tconst preparedBinaryData = await this.helpers.prepareBinaryData(\n\t\t\t\t\t\tbinaryData,\n\t\t\t\t\t\tundefined,\n\t\t\t\t\t\tmimeTypeFromResponse(responseContentType),\n\t\t\t\t\t);\n\n\t\t\t\t\tpreparedBinaryData.fileName = setFilename(\n\t\t\t\t\t\tpreparedBinaryData,\n\t\t\t\t\t\trequestOptions,\n\t\t\t\t\t\tresponseFileName,\n\t\t\t\t\t);\n\n\t\t\t\t\tnewItem.binary![outputPropertyName] = preparedBinaryData;\n\n\t\t\t\t\treturnItems.push(newItem);\n\t\t\t\t} else if (responseFormat === 'text') {\n\t\t\t\t\tconst outputPropertyName = this.getNodeParameter(\n\t\t\t\t\t\t'options.response.response.outputPropertyName',\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t'data',\n\t\t\t\t\t) as string;\n\t\t\t\t\tif (fullResponse) {\n\t\t\t\t\t\tconst returnItem: IDataObject = {};\n\t\t\t\t\t\tfor (const property of fullResponseProperties) {\n\t\t\t\t\t\t\tif (property === 'body') {\n\t\t\t\t\t\t\t\treturnItem[outputPropertyName] = toText(response[property]);\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturnItem[property] = response[property];\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\tjson: returnItem,\n\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\t\t[outputPropertyName]: toText(response),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// responseFormat: 'json'\n\t\t\t\t\tif (fullResponse) {\n\t\t\t\t\t\tconst returnItem: IDataObject = {};\n\t\t\t\t\t\tfor (const property of fullResponseProperties) {\n\t\t\t\t\t\t\treturnItem[property] = response[property];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (responseFormat === 'json' && typeof returnItem.body === 'string') {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\treturnItem.body = JSON.parse(returnItem.body);\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t'Response body is not valid JSON. Change \"Response Format\" to \"Text\"',\n\t\t\t\t\t\t\t\t\t{ itemIndex },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\tjson: returnItem,\n\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (responseFormat === 'json' && typeof response === 'string') {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (typeof response !== 'object') {\n\t\t\t\t\t\t\t\t\tresponse = JSON.parse(response);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tthrow new NodeOperationError(\n\t\t\t\t\t\t\t\t\tthis.getNode(),\n\t\t\t\t\t\t\t\t\t'Response body is not valid JSON. Change \"Response Format\" to \"Text\"',\n\t\t\t\t\t\t\t\t\t{ itemIndex },\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Array.isArray(response)) {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-loop-func\n\t\t\t\t\t\t\tresponse.forEach((item) =>\n\t\t\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\t\t\tjson: item,\n\t\t\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturnItems.push({\n\t\t\t\t\t\t\t\tjson: response,\n\t\t\t\t\t\t\t\tpairedItem: {\n\t\t\t\t\t\t\t\t\titem: itemIndex,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturnItems = returnItems.map(replaceNullValues);\n\n\t\tif (\n\t\t\treturnItems.length === 1 &&\n\t\t\treturnItems[0].json.data &&\n\t\t\tArray.isArray(returnItems[0].json.data)\n\t\t) {\n\t\t\tconst message =\n\t\t\t\t'To split the contents of ‘data’ into separate items for easier processing, add a ‘Split Out’ node after this one';\n\n\t\t\tif (this.addExecutionHints) {\n\t\t\t\tthis.addExecutionHints({\n\t\t\t\t\tmessage,\n\t\t\t\t\tlocation: 'outputPane',\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.logger.info(message);\n\t\t\t}\n\t\t}\n\n\t\treturn [returnItems];\n\t}\n}\n"],"mappings":"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","names":["set"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var binaryData_exports = {};
|
|
20
|
+
__export(binaryData_exports, {
|
|
21
|
+
setFilename: () => setFilename
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(binaryData_exports);
|
|
24
|
+
const setFilename = (preparedBinaryData, requestOptions, responseFileName) => {
|
|
25
|
+
if (!preparedBinaryData.fileName && preparedBinaryData.fileExtension && typeof requestOptions.uri === "string" && requestOptions.uri.endsWith(preparedBinaryData.fileExtension)) {
|
|
26
|
+
return requestOptions.uri.split("/").pop();
|
|
27
|
+
}
|
|
28
|
+
if (!preparedBinaryData.fileName && preparedBinaryData.fileExtension) {
|
|
29
|
+
return `${responseFileName ?? "data"}.${preparedBinaryData.fileExtension}`;
|
|
30
|
+
}
|
|
31
|
+
return preparedBinaryData.fileName;
|
|
32
|
+
};
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
setFilename
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=binaryData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../nodes/HttpRequest/V3/utils/binaryData.ts"],"sourcesContent":["import type { IBinaryData, IRequestOptions } from 'n8n-workflow';\n\nexport const setFilename = (\n\tpreparedBinaryData: IBinaryData,\n\trequestOptions: IRequestOptions,\n\tresponseFileName: string | undefined,\n) => {\n\tif (\n\t\t!preparedBinaryData.fileName &&\n\t\tpreparedBinaryData.fileExtension &&\n\t\ttypeof requestOptions.uri === 'string' &&\n\t\trequestOptions.uri.endsWith(preparedBinaryData.fileExtension)\n\t) {\n\t\treturn requestOptions.uri.split('/').pop();\n\t}\n\n\tif (!preparedBinaryData.fileName && preparedBinaryData.fileExtension) {\n\t\treturn `${responseFileName ?? 'data'}.${preparedBinaryData.fileExtension}`;\n\t}\n\n\treturn preparedBinaryData.fileName;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,cAAc,CAC1B,oBACA,gBACA,qBACI;AACJ,MACC,CAAC,mBAAmB,YACpB,mBAAmB,iBACnB,OAAO,eAAe,QAAQ,YAC9B,eAAe,IAAI,SAAS,mBAAmB,aAAa,GAC3D;AACD,WAAO,eAAe,IAAI,MAAM,GAAG,EAAE,IAAI;AAAA,EAC1C;AAEA,MAAI,CAAC,mBAAmB,YAAY,mBAAmB,eAAe;AACrE,WAAO,GAAG,oBAAoB,MAAM,IAAI,mBAAmB,aAAa;AAAA,EACzE;AAEA,SAAO,mBAAmB;AAC3B;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var parse_exports = {};
|
|
20
|
+
__export(parse_exports, {
|
|
21
|
+
mimeTypeFromResponse: () => mimeTypeFromResponse
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(parse_exports);
|
|
24
|
+
const mimeTypeFromResponse = (responseContentType) => {
|
|
25
|
+
if (!responseContentType) {
|
|
26
|
+
return void 0;
|
|
27
|
+
}
|
|
28
|
+
return responseContentType.split(" ")[0].split(";")[0];
|
|
29
|
+
};
|
|
30
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
31
|
+
0 && (module.exports = {
|
|
32
|
+
mimeTypeFromResponse
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../nodes/HttpRequest/V3/utils/parse.ts"],"sourcesContent":["export const mimeTypeFromResponse = (\n\tresponseContentType: string | undefined,\n): string | undefined => {\n\tif (!responseContentType) {\n\t\treturn undefined;\n\t}\n\n\treturn responseContentType.split(' ')[0].split(';')[0];\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,uBAAuB,CACnC,wBACwB;AACxB,MAAI,CAAC,qBAAqB;AACzB,WAAO;AAAA,EACR;AAEA,SAAO,oBAAoB,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AACtD;","names":[]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var CommentDescription_exports = {};
|
|
20
|
+
__export(CommentDescription_exports, {
|
|
21
|
+
commentFields: () => commentFields,
|
|
22
|
+
commentOperations: () => commentOperations
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(CommentDescription_exports);
|
|
25
|
+
const commentOperations = [
|
|
26
|
+
{
|
|
27
|
+
displayName: "Operation",
|
|
28
|
+
name: "operation",
|
|
29
|
+
type: "options",
|
|
30
|
+
noDataExpression: true,
|
|
31
|
+
displayOptions: {
|
|
32
|
+
show: {
|
|
33
|
+
resource: ["comment"]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
options: [
|
|
37
|
+
{
|
|
38
|
+
name: "Add Comment",
|
|
39
|
+
value: "addComment",
|
|
40
|
+
description: "Add a comment to an issue",
|
|
41
|
+
action: "Add a comment to an issue"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
default: "addComment"
|
|
45
|
+
}
|
|
46
|
+
];
|
|
47
|
+
const commentFields = [
|
|
48
|
+
/* -------------------------------------------------------------------------- */
|
|
49
|
+
/* comment:addComment */
|
|
50
|
+
/* -------------------------------------------------------------------------- */
|
|
51
|
+
{
|
|
52
|
+
displayName: "Issue ID",
|
|
53
|
+
name: "issueId",
|
|
54
|
+
type: "string",
|
|
55
|
+
required: true,
|
|
56
|
+
displayOptions: {
|
|
57
|
+
show: {
|
|
58
|
+
resource: ["comment"],
|
|
59
|
+
operation: ["addComment"]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
default: ""
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
displayName: "Comment",
|
|
66
|
+
name: "comment",
|
|
67
|
+
type: "string",
|
|
68
|
+
required: true,
|
|
69
|
+
displayOptions: {
|
|
70
|
+
show: {
|
|
71
|
+
resource: ["comment"],
|
|
72
|
+
operation: ["addComment"]
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
default: ""
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
displayName: "Additional Fields",
|
|
79
|
+
name: "additionalFields",
|
|
80
|
+
type: "collection",
|
|
81
|
+
placeholder: "Add Field",
|
|
82
|
+
default: {},
|
|
83
|
+
displayOptions: {
|
|
84
|
+
show: {
|
|
85
|
+
resource: ["comment"],
|
|
86
|
+
operation: ["addComment"]
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
options: [
|
|
90
|
+
{
|
|
91
|
+
displayName: "Parent Comment ID",
|
|
92
|
+
name: "parentId",
|
|
93
|
+
type: "string",
|
|
94
|
+
description: "ID of the parent comment if this is a reply",
|
|
95
|
+
default: ""
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
];
|
|
100
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
101
|
+
0 && (module.exports = {
|
|
102
|
+
commentFields,
|
|
103
|
+
commentOperations
|
|
104
|
+
});
|
|
105
|
+
//# sourceMappingURL=CommentDescription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../nodes/Linear/CommentDescription.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const commentOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['comment'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Add Comment',\n\t\t\t\tvalue: 'addComment',\n\t\t\t\tdescription: 'Add a comment to an issue',\n\t\t\t\taction: 'Add a comment to an issue',\n\t\t\t},\n\t\t],\n\t\tdefault: 'addComment',\n\t},\n];\n\nexport const commentFields: INodeProperties[] = [\n\t/* -------------------------------------------------------------------------- */\n\t/* comment:addComment */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Issue ID',\n\t\tname: 'issueId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['comment'],\n\t\t\t\toperation: ['addComment'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Comment',\n\t\tname: 'comment',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['comment'],\n\t\t\t\toperation: ['addComment'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['comment'],\n\t\t\t\toperation: ['addComment'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Parent Comment ID',\n\t\t\t\tname: 'parentId',\n\t\t\t\ttype: 'string',\n\t\t\t\tdescription: 'ID of the parent comment if this is a reply',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t},\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,oBAAuC;AAAA,EACnD;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,SAAS;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AACD;AAEO,MAAM,gBAAmC;AAAA;AAAA;AAAA;AAAA,EAI/C;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,SAAS;AAAA,QACpB,WAAW,CAAC,YAAY;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,SAAS;AAAA,QACpB,WAAW,CAAC,YAAY;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,SAAS;AAAA,QACpB,WAAW,CAAC,YAAY;AAAA,MACzB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS;AAAA,MACV;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|
|
@@ -34,6 +34,12 @@ const issueOperations = [
|
|
|
34
34
|
}
|
|
35
35
|
},
|
|
36
36
|
options: [
|
|
37
|
+
{
|
|
38
|
+
name: "Add Link",
|
|
39
|
+
value: "addLink",
|
|
40
|
+
description: "Add a link to an issue",
|
|
41
|
+
action: "Add a link to an issue"
|
|
42
|
+
},
|
|
37
43
|
{
|
|
38
44
|
name: "Create",
|
|
39
45
|
value: "create",
|
|
@@ -182,7 +188,7 @@ const issueFields = [
|
|
|
182
188
|
displayOptions: {
|
|
183
189
|
show: {
|
|
184
190
|
resource: ["issue"],
|
|
185
|
-
operation: ["get", "delete"]
|
|
191
|
+
operation: ["addLink", "get", "delete"]
|
|
186
192
|
}
|
|
187
193
|
},
|
|
188
194
|
default: ""
|
|
@@ -320,6 +326,22 @@ const issueFields = [
|
|
|
320
326
|
default: ""
|
|
321
327
|
}
|
|
322
328
|
]
|
|
329
|
+
},
|
|
330
|
+
/* -------------------------------------------------------------------------- */
|
|
331
|
+
/* issue:addLink */
|
|
332
|
+
/* -------------------------------------------------------------------------- */
|
|
333
|
+
{
|
|
334
|
+
displayName: "Link",
|
|
335
|
+
name: "link",
|
|
336
|
+
type: "string",
|
|
337
|
+
required: true,
|
|
338
|
+
displayOptions: {
|
|
339
|
+
show: {
|
|
340
|
+
resource: ["issue"],
|
|
341
|
+
operation: ["addLink"]
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
default: ""
|
|
323
345
|
}
|
|
324
346
|
];
|
|
325
347
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../nodes/Linear/IssueDescription.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const issueOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Create',\n\t\t\t\tvalue: 'create',\n\t\t\t\tdescription: 'Create an issue',\n\t\t\t\taction: 'Create an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete an issue',\n\t\t\t\taction: 'Delete an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Get an issue',\n\t\t\t\taction: 'Get an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get many issues',\n\t\t\t\taction: 'Get many issues',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Update',\n\t\t\t\tvalue: 'update',\n\t\t\t\tdescription: 'Update an issue',\n\t\t\t\taction: 'Update an issue',\n\t\t\t},\n\t\t],\n\t\tdefault: 'create',\n\t},\n];\n\nexport const issueFields: INodeProperties[] = [\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:create */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Team Name or ID',\n\t\tname: 'teamId',\n\t\ttype: 'options',\n\t\tdescription:\n\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getTeams',\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Title',\n\t\tname: 'title',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Assignee Name or ID',\n\t\t\t\tname: 'assigneeId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getUsers',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Priority',\n\t\t\t\tname: 'priorityId',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Urgent',\n\t\t\t\t\t\tvalue: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'High',\n\t\t\t\t\t\tvalue: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Normal',\n\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Low',\n\t\t\t\t\t\tvalue: 4,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'No Priority',\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'State Name or ID',\n\t\t\t\tname: 'stateId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getStates',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:delete */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Issue ID',\n\t\tname: 'issueId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['get', 'delete'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:getAll */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\tdescription: 'Max number of results to return',\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:update */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Issue ID',\n\t\tname: 'issueId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Update Fields',\n\t\tname: 'updateFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Assignee Name or ID',\n\t\t\t\tname: 'assigneeId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getUsers',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Priority Name/ID',\n\t\t\t\tname: 'priorityId',\n\t\t\t\ttype: 'options',\n\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Urgent',\n\t\t\t\t\t\tvalue: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'High',\n\t\t\t\t\t\tvalue: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Medium',\n\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Low',\n\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'No Priority',\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'State Name or ID',\n\t\t\t\tname: 'stateId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getStates',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Team Name or ID',\n\t\t\t\tname: 'teamId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getTeams',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Title',\n\t\t\t\tname: 'title',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t},\n];\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../nodes/Linear/IssueDescription.ts"],"sourcesContent":["import type { INodeProperties } from 'n8n-workflow';\n\nexport const issueOperations: INodeProperties[] = [\n\t{\n\t\tdisplayName: 'Operation',\n\t\tname: 'operation',\n\t\ttype: 'options',\n\t\tnoDataExpression: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tname: 'Add Link',\n\t\t\t\tvalue: 'addLink',\n\t\t\t\tdescription: 'Add a link to an issue',\n\t\t\t\taction: 'Add a link to an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Create',\n\t\t\t\tvalue: 'create',\n\t\t\t\tdescription: 'Create an issue',\n\t\t\t\taction: 'Create an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Delete',\n\t\t\t\tvalue: 'delete',\n\t\t\t\tdescription: 'Delete an issue',\n\t\t\t\taction: 'Delete an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get',\n\t\t\t\tvalue: 'get',\n\t\t\t\tdescription: 'Get an issue',\n\t\t\t\taction: 'Get an issue',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Get Many',\n\t\t\t\tvalue: 'getAll',\n\t\t\t\tdescription: 'Get many issues',\n\t\t\t\taction: 'Get many issues',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'Update',\n\t\t\t\tvalue: 'update',\n\t\t\t\tdescription: 'Update an issue',\n\t\t\t\taction: 'Update an issue',\n\t\t\t},\n\t\t],\n\t\tdefault: 'create',\n\t},\n];\n\nexport const issueFields: INodeProperties[] = [\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:create */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Team Name or ID',\n\t\tname: 'teamId',\n\t\ttype: 'options',\n\t\tdescription:\n\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\ttypeOptions: {\n\t\t\tloadOptionsMethod: 'getTeams',\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Title',\n\t\tname: 'title',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Additional Fields',\n\t\tname: 'additionalFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['create'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Assignee Name or ID',\n\t\t\t\tname: 'assigneeId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getUsers',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Priority',\n\t\t\t\tname: 'priorityId',\n\t\t\t\ttype: 'options',\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Urgent',\n\t\t\t\t\t\tvalue: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'High',\n\t\t\t\t\t\tvalue: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Normal',\n\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Low',\n\t\t\t\t\t\tvalue: 4,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'No Priority',\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'State Name or ID',\n\t\t\t\tname: 'stateId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getStates',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:delete */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Issue ID',\n\t\tname: 'issueId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['addLink', 'get', 'delete'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:getAll */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Return All',\n\t\tname: 'returnAll',\n\t\ttype: 'boolean',\n\t\tdefault: false,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t},\n\t\t},\n\t\tdescription: 'Whether to return all results or only up to a given limit',\n\t},\n\t{\n\t\tdisplayName: 'Limit',\n\t\tname: 'limit',\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t\ttypeOptions: {\n\t\t\tminValue: 1,\n\t\t},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['getAll'],\n\t\t\t\treturnAll: [false],\n\t\t\t},\n\t\t},\n\t\tdescription: 'Max number of results to return',\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* issue:update */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Issue ID',\n\t\tname: 'issueId',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n\t{\n\t\tdisplayName: 'Update Fields',\n\t\tname: 'updateFields',\n\t\ttype: 'collection',\n\t\tplaceholder: 'Add Field',\n\t\tdefault: {},\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['update'],\n\t\t\t},\n\t\t},\n\t\toptions: [\n\t\t\t{\n\t\t\t\tdisplayName: 'Assignee Name or ID',\n\t\t\t\tname: 'assigneeId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getUsers',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Description',\n\t\t\t\tname: 'description',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Priority Name/ID',\n\t\t\t\tname: 'priorityId',\n\t\t\t\ttype: 'options',\n\n\t\t\t\toptions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Urgent',\n\t\t\t\t\t\tvalue: 1,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'High',\n\t\t\t\t\t\tvalue: 2,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Medium',\n\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Low',\n\t\t\t\t\t\tvalue: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'No Priority',\n\t\t\t\t\t\tvalue: 0,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'State Name or ID',\n\t\t\t\tname: 'stateId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getStates',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Team Name or ID',\n\t\t\t\tname: 'teamId',\n\t\t\t\ttype: 'options',\n\t\t\t\tdescription:\n\t\t\t\t\t'Choose from the list, or specify an ID using an <a href=\"https://docs.n8n.io/code/expressions/\">expression</a>',\n\t\t\t\ttypeOptions: {\n\t\t\t\t\tloadOptionsMethod: 'getTeams',\n\t\t\t\t},\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdisplayName: 'Title',\n\t\t\t\tname: 'title',\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: '',\n\t\t\t},\n\t\t],\n\t},\n\t/* -------------------------------------------------------------------------- */\n\t/* \tissue:addLink */\n\t/* -------------------------------------------------------------------------- */\n\t{\n\t\tdisplayName: 'Link',\n\t\tname: 'link',\n\t\ttype: 'string',\n\t\trequired: true,\n\t\tdisplayOptions: {\n\t\t\tshow: {\n\t\t\t\tresource: ['issue'],\n\t\t\t\toperation: ['addLink'],\n\t\t\t},\n\t\t},\n\t\tdefault: '',\n\t},\n];\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,kBAAqC;AAAA,EACjD;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,MACnB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,OAAO;AAAA,QACP,aAAa;AAAA,QACb,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AACD;AAEO,MAAM,cAAiC;AAAA;AAAA;AAAA;AAAA,EAI7C;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aACC;AAAA,IACD,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,aAAa;AAAA,MACZ,mBAAmB;AAAA,IACpB;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,UACZ,mBAAmB;AAAA,QACpB;AAAA,QACA,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,QACD;AAAA,QACA,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,UACZ,mBAAmB;AAAA,QACpB;AAAA,QACA,SAAS;AAAA,MACV;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,WAAW,OAAO,QAAQ;AAAA,MACvC;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,aAAa;AAAA,EACd;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,aAAa;AAAA,MACZ,UAAU;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,QACpB,WAAW,CAAC,KAAK;AAAA,MAClB;AAAA,IACD;AAAA,IACA,aAAa;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AAAA,EACA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,SAAS,CAAC;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,QAAQ;AAAA,MACrB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,UACZ,mBAAmB;AAAA,QACpB;AAAA,QACA,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QAEN,SAAS;AAAA,UACR;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,OAAO;AAAA,UACR;AAAA,QACD;AAAA,QACA,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,UACZ,mBAAmB;AAAA,QACpB;AAAA,QACA,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aACC;AAAA,QACD,aAAa;AAAA,UACZ,mBAAmB;AAAA,QACpB;AAAA,QACA,SAAS;AAAA,MACV;AAAA,MACA;AAAA,QACC,aAAa;AAAA,QACb,MAAM;AAAA,QACN,MAAM;AAAA,QACN,SAAS;AAAA,MACV;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACC,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU;AAAA,IACV,gBAAgB;AAAA,MACf,MAAM;AAAA,QACL,UAAU,CAAC,OAAO;AAAA,QAClB,WAAW,CAAC,SAAS;AAAA,MACtB;AAAA,IACD;AAAA,IACA,SAAS;AAAA,EACV;AACD;","names":[]}
|