n8n-nodes-tls-request 1.0.1 → 1.1.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.
@@ -3,6 +3,117 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TlsRequest = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const node_tls_client_1 = require("node-tls-client");
6
+ // Global flag to track TLS initialization
7
+ let tlsInitialized = false;
8
+ let tlsInitPromise = null;
9
+ /**
10
+ * Initialize TLS client (singleton pattern to avoid multiple initializations)
11
+ */
12
+ async function ensureTLSInitialized() {
13
+ if (tlsInitialized) {
14
+ return;
15
+ }
16
+ if (tlsInitPromise) {
17
+ return tlsInitPromise;
18
+ }
19
+ tlsInitPromise = (0, node_tls_client_1.initTLS)();
20
+ await tlsInitPromise;
21
+ tlsInitialized = true;
22
+ }
23
+ /**
24
+ * Parse cURL command and extract request details
25
+ */
26
+ function parseCurlCommand(curlCommand) {
27
+ const result = {
28
+ method: 'GET',
29
+ url: '',
30
+ headers: {},
31
+ body: undefined,
32
+ cookies: undefined,
33
+ };
34
+ // Normalize the curl command
35
+ const normalizedCmd = curlCommand
36
+ .replace(/\\\n/g, ' ') // Handle line continuations
37
+ .replace(/\n/g, ' ') // Remove newlines
38
+ .replace(/\s+/g, ' '); // Normalize whitespace
39
+ // Extract URL - handle both quoted and unquoted URLs
40
+ const urlMatch = normalizedCmd.match(/curl\s+(?:-X\s+\w+\s+)?['"]?([^'"\s]+)['"]?/i);
41
+ if (urlMatch) {
42
+ result.url = urlMatch[1].trim();
43
+ }
44
+ // Also check for URL after flags
45
+ const urlAfterFlags = normalizedCmd.match(/['"](https?:\/\/[^'"]+)['"]/i);
46
+ if (urlAfterFlags && !result.url.startsWith('http')) {
47
+ result.url = urlAfterFlags[1];
48
+ }
49
+ // Extract method (-X or --request)
50
+ const methodMatch = normalizedCmd.match(/-X\s+(['"]?)(\w+)\1/i) ||
51
+ normalizedCmd.match(/--request\s+(['"]?)(\w+)\1/i);
52
+ if (methodMatch) {
53
+ result.method = methodMatch[2].toUpperCase();
54
+ }
55
+ else if (normalizedCmd.includes('--data') || normalizedCmd.includes('-d') || normalizedCmd.includes('--data-raw')) {
56
+ result.method = 'POST';
57
+ }
58
+ // Extract headers (-H or --header)
59
+ const headerRegex = /-H\s+(['"])(.+?)\1|--header\s+(['"])(.+?)\3/g;
60
+ let headerMatch;
61
+ while ((headerMatch = headerRegex.exec(normalizedCmd)) !== null) {
62
+ const headerValue = headerMatch[2] || headerMatch[4];
63
+ const colonIndex = headerValue.indexOf(':');
64
+ if (colonIndex > -1) {
65
+ const key = headerValue.substring(0, colonIndex).trim();
66
+ const value = headerValue.substring(colonIndex + 1).trim();
67
+ // Handle cookies specially
68
+ if (key.toLowerCase() === 'cookie') {
69
+ result.cookies = result.cookies || {};
70
+ value.split(';').forEach(cookie => {
71
+ const [cookieKey, cookieValue] = cookie.trim().split('=');
72
+ if (cookieKey && cookieValue !== undefined) {
73
+ result.cookies[cookieKey.trim()] = cookieValue.trim();
74
+ }
75
+ });
76
+ }
77
+ else {
78
+ result.headers[key] = value;
79
+ }
80
+ }
81
+ }
82
+ // Extract body (--data, -d, --data-raw, --data-binary)
83
+ const bodyRegex = /--data-raw\s+(['"])([\s\S]*?)\1|--data(?:-binary)?\s+(['"])([\s\S]*?)\3|-d\s+(['"])([\s\S]*?)\5/g;
84
+ let bodyMatch;
85
+ let lastIndex = 0;
86
+ // Reset regex
87
+ bodyRegex.lastIndex = 0;
88
+ while ((bodyMatch = bodyRegex.exec(normalizedCmd)) !== null) {
89
+ const bodyValue = bodyMatch[2] || bodyMatch[4] || bodyMatch[6];
90
+ if (bodyValue !== undefined) {
91
+ result.body = bodyValue;
92
+ break;
93
+ }
94
+ lastIndex = bodyRegex.lastIndex;
95
+ }
96
+ // Alternative body extraction for multi-line curl commands
97
+ if (!result.body) {
98
+ const dataRawMatch = curlCommand.match(/--data-raw\s+['"]([\s\S]*?)['"](?:\s*\\?\s*$|\s+-H)/m);
99
+ if (dataRawMatch) {
100
+ result.body = dataRawMatch[1].replace(/\\\n/g, '\n').trim();
101
+ }
102
+ }
103
+ // Extract cookies from -b or --cookie
104
+ const cookieMatch = normalizedCmd.match(/-b\s+(['"])(.+?)\1|--cookie\s+(['"])(.+?)\3/);
105
+ if (cookieMatch) {
106
+ const cookieValue = cookieMatch[2] || cookieMatch[4];
107
+ result.cookies = result.cookies || {};
108
+ cookieValue.split(';').forEach(cookie => {
109
+ const [key, value] = cookie.trim().split('=');
110
+ if (key && value !== undefined) {
111
+ result.cookies[key.trim()] = value.trim();
112
+ }
113
+ });
114
+ }
115
+ return result;
116
+ }
6
117
  class TlsRequest {
7
118
  constructor() {
8
119
  this.description = {
@@ -18,17 +129,39 @@ class TlsRequest {
18
129
  inputs: ['main'],
19
130
  outputs: ['main'],
20
131
  properties: [
132
+ {
133
+ displayName: 'Import cURL',
134
+ name: 'curlImport',
135
+ type: 'button',
136
+ typeOptions: {
137
+ action: 'populateFieldsFromCurl',
138
+ },
139
+ default: '',
140
+ description: 'Import a cURL command to automatically fill the fields below',
141
+ },
142
+ {
143
+ displayName: 'cURL Command',
144
+ name: 'curlCommand',
145
+ type: 'string',
146
+ typeOptions: {
147
+ rows: 4,
148
+ },
149
+ default: '',
150
+ placeholder: "curl 'https://api.example.com' -H 'Accept: application/json' ...",
151
+ description: 'Paste a cURL command here to automatically populate the request fields',
152
+ },
21
153
  {
22
154
  displayName: 'Method',
23
155
  name: 'method',
24
156
  type: 'options',
25
157
  options: [
158
+ { name: 'DELETE', value: 'DELETE' },
26
159
  { name: 'GET', value: 'GET' },
160
+ { name: 'HEAD', value: 'HEAD' },
161
+ { name: 'OPTIONS', value: 'OPTIONS' },
162
+ { name: 'PATCH', value: 'PATCH' },
27
163
  { name: 'POST', value: 'POST' },
28
164
  { name: 'PUT', value: 'PUT' },
29
- { name: 'DELETE', value: 'DELETE' },
30
- { name: 'PATCH', value: 'PATCH' },
31
- { name: 'HEAD', value: 'HEAD' },
32
165
  ],
33
166
  default: 'GET',
34
167
  },
@@ -41,7 +174,7 @@ class TlsRequest {
41
174
  required: true,
42
175
  },
43
176
  {
44
- displayName: 'Browser ID',
177
+ displayName: 'Browser ID (TLS Fingerprint)',
45
178
  name: 'browserId',
46
179
  type: 'options',
47
180
  options: [
@@ -50,17 +183,46 @@ class TlsRequest {
50
183
  { name: 'Chrome 119', value: 'chrome_119' },
51
184
  { name: 'Chrome 118', value: 'chrome_118' },
52
185
  { name: 'Chrome 117', value: 'chrome_117' },
186
+ { name: 'Chrome 116', value: 'chrome_116' },
187
+ { name: 'Chrome 115', value: 'chrome_115' },
188
+ { name: 'Chrome 114', value: 'chrome_114' },
189
+ { name: 'Chrome 113', value: 'chrome_113' },
53
190
  { name: 'Chrome 112', value: 'chrome_112' },
191
+ { name: 'Chrome 111', value: 'chrome_111' },
192
+ { name: 'Chrome 110', value: 'chrome_110' },
193
+ { name: 'Chrome 109', value: 'chrome_109' },
194
+ { name: 'Chrome 108', value: 'chrome_108' },
195
+ { name: 'Chrome 107', value: 'chrome_107' },
196
+ { name: 'Chrome 106', value: 'chrome_106' },
54
197
  { name: 'Chrome 105', value: 'chrome_105' },
198
+ { name: 'Chrome 104', value: 'chrome_104' },
199
+ { name: 'Chrome 103', value: 'chrome_103' },
55
200
  // Firefox
56
201
  { name: 'Firefox 117', value: 'firefox_117' },
202
+ { name: 'Firefox 116', value: 'firefox_116' },
203
+ { name: 'Firefox 115', value: 'firefox_115' },
204
+ { name: 'Firefox 114', value: 'firefox_114' },
205
+ { name: 'Firefox 113', value: 'firefox_113' },
206
+ { name: 'Firefox 112', value: 'firefox_112' },
207
+ { name: 'Firefox 111', value: 'firefox_111' },
57
208
  { name: 'Firefox 110', value: 'firefox_110' },
209
+ { name: 'Firefox 109', value: 'firefox_109' },
210
+ { name: 'Firefox 108', value: 'firefox_108' },
211
+ { name: 'Firefox 107', value: 'firefox_107' },
212
+ { name: 'Firefox 106', value: 'firefox_106' },
213
+ { name: 'Firefox 105', value: 'firefox_105' },
214
+ { name: 'Firefox 104', value: 'firefox_104' },
215
+ { name: 'Firefox 103', value: 'firefox_103' },
58
216
  { name: 'Firefox 102', value: 'firefox_102' },
59
217
  // Safari (macOS)
218
+ { name: 'Safari 17.0', value: 'safari_17_0' },
219
+ { name: 'Safari 16.5', value: 'safari_16_5' },
60
220
  { name: 'Safari 16.0', value: 'safari_16_0' },
61
221
  { name: 'Safari 15.6.1', value: 'safari_15_6_1' },
222
+ { name: 'Safari 15.5', value: 'safari_15_5' },
62
223
  { name: 'Safari 15.3', value: 'safari_15_3' },
63
224
  // Mobile - iOS
225
+ { name: 'Safari iOS 17.0', value: 'safari_ios_17_0' },
64
226
  { name: 'Safari iOS 16.0', value: 'safari_ios_16_0' },
65
227
  { name: 'Safari iOS 15.6', value: 'safari_ios_15_6' },
66
228
  { name: 'Safari iOS 15.5', value: 'safari_ios_15_5' },
@@ -85,7 +247,14 @@ class TlsRequest {
85
247
  type: 'string',
86
248
  default: '',
87
249
  placeholder: 'http://user:pass@host:port',
88
- description: 'Proxy connection string',
250
+ description: 'Proxy connection string (supports http:// and socks5://)',
251
+ },
252
+ {
253
+ displayName: 'Send Headers',
254
+ name: 'sendHeaders',
255
+ type: 'boolean',
256
+ default: false,
257
+ description: 'Whether to send custom headers with the request',
89
258
  },
90
259
  {
91
260
  displayName: 'Headers',
@@ -95,6 +264,11 @@ class TlsRequest {
95
264
  multipleValues: true,
96
265
  },
97
266
  placeholder: 'Add Header',
267
+ displayOptions: {
268
+ show: {
269
+ sendHeaders: [true],
270
+ },
271
+ },
98
272
  default: {},
99
273
  options: [
100
274
  {
@@ -118,155 +292,373 @@ class TlsRequest {
118
292
  ],
119
293
  },
120
294
  {
121
- displayName: 'JSON Body',
122
- name: 'jsonBody',
295
+ displayName: 'Send Cookies',
296
+ name: 'sendCookies',
123
297
  type: 'boolean',
124
- default: true,
298
+ default: false,
299
+ description: 'Whether to send cookies with the request',
300
+ },
301
+ {
302
+ displayName: 'Cookies',
303
+ name: 'cookies',
304
+ type: 'fixedCollection',
305
+ typeOptions: {
306
+ multipleValues: true,
307
+ },
308
+ placeholder: 'Add Cookie',
125
309
  displayOptions: {
126
310
  show: {
127
- method: ['POST', 'PUT', 'PATCH'],
311
+ sendCookies: [true],
128
312
  },
129
313
  },
130
- description: 'Whether to send the body as JSON',
314
+ default: {},
315
+ options: [
316
+ {
317
+ name: 'parameter',
318
+ displayName: 'Cookie',
319
+ values: [
320
+ {
321
+ displayName: 'Name',
322
+ name: 'name',
323
+ type: 'string',
324
+ default: '',
325
+ },
326
+ {
327
+ displayName: 'Value',
328
+ name: 'value',
329
+ type: 'string',
330
+ default: '',
331
+ },
332
+ ],
333
+ },
334
+ ],
335
+ },
336
+ {
337
+ displayName: 'Send Body',
338
+ name: 'sendBody',
339
+ type: 'boolean',
340
+ default: false,
341
+ displayOptions: {
342
+ show: {
343
+ method: ['POST', 'PUT', 'PATCH', 'DELETE'],
344
+ },
345
+ },
346
+ description: 'Whether to send a body with the request',
347
+ },
348
+ {
349
+ displayName: 'Content Type',
350
+ name: 'contentType',
351
+ type: 'options',
352
+ displayOptions: {
353
+ show: {
354
+ sendBody: [true],
355
+ method: ['POST', 'PUT', 'PATCH', 'DELETE'],
356
+ },
357
+ },
358
+ options: [
359
+ { name: 'JSON', value: 'json' },
360
+ { name: 'Form-Data', value: 'form-data' },
361
+ { name: 'Raw', value: 'raw' },
362
+ ],
363
+ default: 'json',
364
+ description: 'The content type of the body',
131
365
  },
132
366
  {
133
367
  displayName: 'Body',
134
368
  name: 'body',
135
369
  type: 'json',
136
- default: '{}',
137
370
  displayOptions: {
138
371
  show: {
139
- method: ['POST', 'PUT', 'PATCH'],
140
- jsonBody: [true],
372
+ sendBody: [true],
373
+ contentType: ['json'],
374
+ method: ['POST', 'PUT', 'PATCH', 'DELETE'],
141
375
  },
142
376
  },
377
+ default: '{}',
143
378
  description: 'The JSON body to send',
144
379
  },
145
380
  {
146
- displayName: 'Raw Body',
147
- name: 'rawBody',
148
- type: 'string',
149
- default: '',
381
+ displayName: 'Body (Form-Data)',
382
+ name: 'bodyFormData',
383
+ type: 'fixedCollection',
384
+ typeOptions: {
385
+ multipleValues: true,
386
+ },
387
+ placeholder: 'Add Field',
150
388
  displayOptions: {
151
389
  show: {
152
- method: ['POST', 'PUT', 'PATCH'],
153
- jsonBody: [false],
390
+ sendBody: [true],
391
+ contentType: ['form-data'],
392
+ method: ['POST', 'PUT', 'PATCH', 'DELETE'],
154
393
  },
155
394
  },
156
- description: 'The raw body to send',
395
+ default: {},
396
+ options: [
397
+ {
398
+ name: 'parameter',
399
+ displayName: 'Field',
400
+ values: [
401
+ {
402
+ displayName: 'Name',
403
+ name: 'name',
404
+ type: 'string',
405
+ default: '',
406
+ },
407
+ {
408
+ displayName: 'Value',
409
+ name: 'value',
410
+ type: 'string',
411
+ default: '',
412
+ },
413
+ ],
414
+ },
415
+ ],
157
416
  },
158
417
  {
159
- displayName: 'Follow Redirects',
160
- name: 'followRedirects',
161
- type: 'boolean',
162
- default: true,
418
+ displayName: 'Body (Raw)',
419
+ name: 'bodyRaw',
420
+ type: 'string',
421
+ typeOptions: {
422
+ rows: 4,
423
+ },
424
+ displayOptions: {
425
+ show: {
426
+ sendBody: [true],
427
+ contentType: ['raw'],
428
+ method: ['POST', 'PUT', 'PATCH', 'DELETE'],
429
+ },
430
+ },
431
+ default: '',
432
+ description: 'The raw body to send',
163
433
  },
164
434
  {
165
- displayName: 'Timeout (Seconds)',
166
- name: 'timeout',
167
- type: 'number',
168
- default: 30,
435
+ displayName: 'Options',
436
+ name: 'options',
437
+ type: 'collection',
438
+ placeholder: 'Add Option',
439
+ default: {},
440
+ options: [
441
+ {
442
+ displayName: 'Follow Redirects',
443
+ name: 'followRedirects',
444
+ type: 'boolean',
445
+ default: true,
446
+ description: 'Whether to follow HTTP redirects',
447
+ },
448
+ {
449
+ displayName: 'Max Redirects',
450
+ name: 'maxRedirects',
451
+ type: 'number',
452
+ default: 10,
453
+ description: 'Maximum number of redirects to follow',
454
+ },
455
+ {
456
+ displayName: 'Timeout (Seconds)',
457
+ name: 'timeout',
458
+ type: 'number',
459
+ default: 30,
460
+ description: 'Request timeout in seconds',
461
+ },
462
+ {
463
+ displayName: 'Insecure Skip Verify',
464
+ name: 'insecureSkipVerify',
465
+ type: 'boolean',
466
+ default: false,
467
+ description: 'Skip TLS certificate verification (not recommended for production)',
468
+ },
469
+ ],
169
470
  },
170
471
  ],
171
472
  };
172
473
  }
173
474
  async execute() {
475
+ // Ensure TLS is initialized before making any requests
476
+ await ensureTLSInitialized();
174
477
  const items = this.getInputData();
175
478
  const returnData = [];
176
479
  for (let i = 0; i < items.length; i++) {
480
+ let session;
177
481
  try {
178
- const method = this.getNodeParameter('method', i);
179
- const url = this.getNodeParameter('url', i);
482
+ // Get parameters
180
483
  const browserId = this.getNodeParameter('browserId', i);
181
- const proxy = this.getNodeParameter('proxy', i);
182
- const timeout = this.getNodeParameter('timeout', i);
183
- const followRedirects = this.getNodeParameter('followRedirects', i);
184
- // Handle Headers
185
- const headerItems = this.getNodeParameter('headers.parameter', i, []);
186
- const headers = {};
187
- for (const item of headerItems) {
188
- headers[item.name] = item.value;
189
- }
190
- // Handle Body
484
+ const proxy = this.getNodeParameter('proxy', i, '');
485
+ const curlCommand = this.getNodeParameter('curlCommand', i, '');
486
+ const options = this.getNodeParameter('options', i, {});
487
+ let method;
488
+ let url;
489
+ let headers = {};
490
+ let cookies = {};
191
491
  let body = undefined;
192
- let isJsonBody = false;
193
- if (['POST', 'PUT', 'PATCH'].includes(method)) {
194
- isJsonBody = this.getNodeParameter('jsonBody', i);
195
- if (isJsonBody) {
196
- const bodyParam = this.getNodeParameter('body', i);
197
- if (typeof bodyParam === 'string') {
198
- try {
199
- body = JSON.parse(bodyParam);
492
+ let contentType = 'json';
493
+ // Check if cURL command is provided
494
+ if (curlCommand && curlCommand.trim() !== '') {
495
+ const parsed = parseCurlCommand(curlCommand);
496
+ method = parsed.method;
497
+ url = parsed.url;
498
+ headers = parsed.headers || {};
499
+ if (parsed.cookies) {
500
+ cookies = parsed.cookies;
501
+ }
502
+ if (parsed.body) {
503
+ body = parsed.body;
504
+ // Try to detect if body is JSON
505
+ try {
506
+ JSON.parse(body);
507
+ contentType = 'json';
508
+ }
509
+ catch {
510
+ contentType = 'raw';
511
+ }
512
+ }
513
+ }
514
+ else {
515
+ // Use manual configuration
516
+ method = this.getNodeParameter('method', i);
517
+ url = this.getNodeParameter('url', i);
518
+ if (!url) {
519
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'URL is required', { itemIndex: i });
520
+ }
521
+ // Handle Headers
522
+ const sendHeaders = this.getNodeParameter('sendHeaders', i, false);
523
+ if (sendHeaders) {
524
+ const headerItems = this.getNodeParameter('headers.parameter', i, []);
525
+ for (const item of headerItems) {
526
+ if (item.name) {
527
+ headers[item.name] = item.value;
528
+ }
529
+ }
530
+ }
531
+ // Handle Cookies
532
+ const sendCookies = this.getNodeParameter('sendCookies', i, false);
533
+ if (sendCookies) {
534
+ const cookieItems = this.getNodeParameter('cookies.parameter', i, []);
535
+ for (const item of cookieItems) {
536
+ if (item.name) {
537
+ cookies[item.name] = item.value;
200
538
  }
201
- catch (e) {
539
+ }
540
+ }
541
+ // Handle Body
542
+ const sendBody = this.getNodeParameter('sendBody', i, false);
543
+ if (sendBody && ['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) {
544
+ contentType = this.getNodeParameter('contentType', i, 'json');
545
+ if (contentType === 'json') {
546
+ const bodyParam = this.getNodeParameter('body', i, '{}');
547
+ if (typeof bodyParam === 'string') {
548
+ try {
549
+ body = JSON.parse(bodyParam);
550
+ }
551
+ catch {
552
+ body = bodyParam;
553
+ }
554
+ }
555
+ else {
202
556
  body = bodyParam;
203
557
  }
558
+ // Set JSON content type if not already set
559
+ if (!headers['content-type'] && !headers['Content-Type']) {
560
+ headers['content-type'] = 'application/json';
561
+ }
562
+ }
563
+ else if (contentType === 'form-data') {
564
+ const formDataItems = this.getNodeParameter('bodyFormData.parameter', i, []);
565
+ const formData = {};
566
+ for (const item of formDataItems) {
567
+ if (item.name) {
568
+ formData[item.name] = item.value;
569
+ }
570
+ }
571
+ body = new URLSearchParams(formData).toString();
572
+ if (!headers['content-type'] && !headers['Content-Type']) {
573
+ headers['content-type'] = 'application/x-www-form-urlencoded';
574
+ }
204
575
  }
205
576
  else {
206
- body = bodyParam;
577
+ body = this.getNodeParameter('bodyRaw', i, '');
207
578
  }
208
579
  }
209
- else {
210
- body = this.getNodeParameter('rawBody', i);
211
- }
212
580
  }
213
581
  // Initialize Node TLS Client Session
214
- const session = new node_tls_client_1.Session({
215
- sessionId: `n8n-${Math.random().toString(36).substring(7)}`,
582
+ const sessionConfig = {
583
+ sessionId: `n8n-${Date.now()}-${Math.random().toString(36).substring(7)}`,
216
584
  clientIdentifier: browserId,
217
- timeout: timeout * 1000,
218
- proxy: proxy || undefined,
219
- });
220
- const requestOptions = {
221
- headers,
222
- followRedirects,
585
+ timeout: (options.timeout || 30) * 1000,
223
586
  };
224
- // node-tls-client usually expects the body string/object directly based on implementation
225
- // but common usage with high-level clients suggests passing it in options
226
- if (body !== undefined && ['POST', 'PUT', 'PATCH'].includes(method)) {
227
- requestOptions.body = isJsonBody ? JSON.stringify(body) : body;
587
+ if (proxy) {
588
+ sessionConfig.proxy = proxy;
228
589
  }
229
- // Execute Request
230
- let response;
231
- if (method === 'GET') {
232
- response = await session.get(url, requestOptions);
233
- }
234
- else if (method === 'POST') {
235
- response = await session.post(url, requestOptions);
236
- }
237
- else if (method === 'PUT') {
238
- response = await session.put(url, requestOptions);
590
+ if (options.insecureSkipVerify) {
591
+ sessionConfig.insecureSkipVerify = true;
239
592
  }
240
- else if (method === 'PATCH') {
241
- response = await session.patch(url, requestOptions);
593
+ session = new node_tls_client_1.Session(sessionConfig);
594
+ const requestOptions = {
595
+ headers,
596
+ followRedirects: options.followRedirects !== false,
597
+ };
598
+ if (options.maxRedirects !== undefined) {
599
+ requestOptions.maxRedirects = options.maxRedirects;
242
600
  }
243
- else if (method === 'DELETE') {
244
- response = await session.delete(url, requestOptions);
601
+ if (Object.keys(cookies).length > 0) {
602
+ requestOptions.cookies = cookies;
245
603
  }
246
- else if (method === 'HEAD') {
247
- response = await session.head(url, requestOptions);
604
+ if (body !== undefined && ['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) {
605
+ if (typeof body === 'object' && !(body instanceof URLSearchParams)) {
606
+ requestOptions.body = JSON.stringify(body);
607
+ }
608
+ else {
609
+ requestOptions.body = body;
610
+ }
248
611
  }
249
- else {
250
- throw new Error(`Method ${method} not implemented yet`);
612
+ // Execute Request
613
+ let response;
614
+ const methodLower = method.toLowerCase();
615
+ switch (methodLower) {
616
+ case 'get':
617
+ response = await session.get(url, requestOptions);
618
+ break;
619
+ case 'post':
620
+ response = await session.post(url, requestOptions);
621
+ break;
622
+ case 'put':
623
+ response = await session.put(url, requestOptions);
624
+ break;
625
+ case 'patch':
626
+ response = await session.patch(url, requestOptions);
627
+ break;
628
+ case 'delete':
629
+ response = await session.delete(url, requestOptions);
630
+ break;
631
+ case 'head':
632
+ response = await session.head(url, requestOptions);
633
+ break;
634
+ case 'options':
635
+ response = await session.options(url, requestOptions);
636
+ break;
637
+ default:
638
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Method ${method} not supported`, { itemIndex: i });
251
639
  }
252
- const responseData = {
253
- status: response.status,
254
- headers: response.headers,
255
- data: response.body
256
- };
257
- // Try to parse JSON response
258
- if (typeof responseData.data === 'string') {
640
+ // Process response
641
+ let responseData;
642
+ if (typeof response.body === 'string') {
643
+ // Try to parse as JSON
259
644
  try {
260
- if (responseData.data.trim().startsWith('{') || responseData.data.trim().startsWith('[')) {
261
- responseData.data = JSON.parse(responseData.data);
262
- }
645
+ responseData = JSON.parse(response.body);
263
646
  }
264
- catch (e) {
265
- // Keep as string
647
+ catch {
648
+ responseData = response.body;
266
649
  }
267
650
  }
651
+ else {
652
+ responseData = response.body;
653
+ }
268
654
  returnData.push({
269
- json: responseData,
655
+ json: {
656
+ status: response.status,
657
+ statusText: response.statusText,
658
+ headers: response.headers,
659
+ data: responseData,
660
+ url: response.url || url,
661
+ },
270
662
  });
271
663
  }
272
664
  catch (error) {
@@ -274,12 +666,24 @@ class TlsRequest {
274
666
  returnData.push({
275
667
  json: {
276
668
  error: error.message,
669
+ stack: error.stack,
277
670
  },
278
671
  });
279
672
  continue;
280
673
  }
281
674
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex: i });
282
675
  }
676
+ finally {
677
+ // Always close the session to free resources
678
+ if (session) {
679
+ try {
680
+ await session.close();
681
+ }
682
+ catch {
683
+ // Ignore close errors
684
+ }
685
+ }
686
+ }
283
687
  }
284
688
  return [returnData];
285
689
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TlsRequest.node.js","sourceRoot":"","sources":["../../../nodes/TlsRequest/TlsRequest.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TlsRequest.node.js","sourceRoot":"","sources":["../../../nodes/TlsRequest/TlsRequest.node.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-tls-request",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "n8n node for making HTTP requests with custom TLS fingerprints (Chrome, Firefox, Safari) using node-tls-client.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package"
@@ -33,8 +33,8 @@
33
33
  "node-tls-client": "^2.1.0"
34
34
  },
35
35
  "devDependencies": {
36
+ "@types/node": "^18.0.0",
36
37
  "n8n-workflow": "*",
37
- "typescript": "^5.0.0",
38
- "@types/node": "^18.0.0"
38
+ "typescript": "^5.0.0"
39
39
  }
40
40
  }