n8n-nodes-tls-request 1.1.1 → 1.2.2

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.
@@ -2,156 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TlsRequest = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
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
- let initError = null;
10
- /**
11
- * Initialize TLS client (singleton pattern to avoid multiple initializations)
12
- */
13
- async function ensureTLSInitialized() {
14
- if (tlsInitialized) {
15
- return;
16
- }
17
- if (initError) {
18
- throw new Error(`TLS initialization previously failed: ${initError.message}`);
19
- }
20
- if (tlsInitPromise) {
21
- return tlsInitPromise;
22
- }
23
- tlsInitPromise = (async () => {
24
- try {
25
- await (0, node_tls_client_1.initTLS)();
26
- tlsInitialized = true;
27
- }
28
- catch (err) {
29
- initError = err;
30
- throw err;
31
- }
32
- })();
33
- return tlsInitPromise;
34
- }
35
- /**
36
- * Parse cURL command and extract request details
37
- * Handles multi-line curl commands with various flag formats
38
- */
39
- function parseCurlCommand(curlCommand) {
40
- const result = {
41
- method: 'GET',
42
- url: '',
43
- headers: {},
44
- body: undefined,
45
- cookies: undefined,
46
- };
47
- if (!curlCommand || curlCommand.trim() === '') {
48
- return result;
49
- }
50
- // Normalize the curl command - handle line continuations and extra whitespace
51
- let normalizedCmd = curlCommand
52
- .replace(/\\\n/g, ' ') // Handle line continuations (backslash + newline)
53
- .replace(/\n/g, ' ') // Remove newlines
54
- .replace(/\s+/g, ' ') // Normalize whitespace
55
- .trim();
56
- // Extract URL - try different patterns
57
- // Pattern 1: URL right after curl command
58
- const urlMatch1 = normalizedCmd.match(/curl\s+(?:-X\s+\w+\s+)?['"]?([^'"\s]+)['"]?/i);
59
- if (urlMatch1 && urlMatch1[1].startsWith('http')) {
60
- result.url = urlMatch1[1].trim();
61
- }
62
- // Pattern 2: URL in quotes after flags
63
- const urlPatterns = [
64
- /['"](https?:\/\/[^'"]+)['"]/i,
65
- /['"](http?:\/\/[^'"]+)['"]/i,
66
- ];
67
- for (const pattern of urlPatterns) {
68
- const match = normalizedCmd.match(pattern);
69
- if (match) {
70
- result.url = match[1];
71
- break;
72
- }
73
- }
74
- // Extract method (-X or --request)
75
- const methodMatch = normalizedCmd.match(/(?:^|\s)-X\s+(['"]?)(\w+)\1/i) ||
76
- normalizedCmd.match(/--request\s+(['"]?)(\w+)\1/i);
77
- if (methodMatch) {
78
- result.method = methodMatch[2].toUpperCase();
79
- }
80
- else if (normalizedCmd.includes('--data') || normalizedCmd.includes('-d') || normalizedCmd.includes('--data-raw')) {
81
- // If there's a body but no explicit method, default to POST
82
- result.method = 'POST';
83
- }
84
- // Extract headers (-H or --header)
85
- // Match -H 'header: value' or -H "header: value"
86
- const headerRegex = /-H\s+['"]([^'"]+)['"]/g;
87
- let headerMatch;
88
- while ((headerMatch = headerRegex.exec(normalizedCmd)) !== null) {
89
- const headerValue = headerMatch[1];
90
- const colonIndex = headerValue.indexOf(':');
91
- if (colonIndex > -1) {
92
- const key = headerValue.substring(0, colonIndex).trim();
93
- const value = headerValue.substring(colonIndex + 1).trim();
94
- // Handle cookies specially - extract from Cookie header
95
- if (key.toLowerCase() === 'cookie') {
96
- result.cookies = result.cookies || {};
97
- value.split(';').forEach(cookie => {
98
- const eqIndex = cookie.indexOf('=');
99
- if (eqIndex > -1) {
100
- const cookieKey = cookie.substring(0, eqIndex).trim();
101
- const cookieValue = cookie.substring(eqIndex + 1).trim();
102
- if (cookieKey) {
103
- result.cookies[cookieKey] = cookieValue;
104
- }
105
- }
106
- });
107
- }
108
- else {
109
- result.headers[key] = value;
110
- }
111
- }
112
- }
113
- // Extract body from various data flags
114
- // Priority: --data-raw > --data-binary > --data > -d
115
- const bodyPatterns = [
116
- { pattern: /--data-raw\s+['"]([\s\S]*?)['"](?:\s|$)/, group: 1 },
117
- { pattern: /--data-binary\s+['"]([\s\S]*?)['"](?:\s|$)/, group: 1 },
118
- { pattern: /--data\s+['"]([\s\S]*?)['"](?:\s|$)/, group: 1 },
119
- { pattern: /-d\s+['"]([\s\S]*?)['"](?:\s|$)/, group: 1 },
120
- ];
121
- for (const { pattern } of bodyPatterns) {
122
- const regex = new RegExp(pattern.source, 'i');
123
- const match = normalizedCmd.match(regex);
124
- if (match && match[1] !== undefined) {
125
- result.body = match[1];
126
- break;
127
- }
128
- }
129
- // Alternative: extract body from multi-line commands where data might be on new lines
130
- if (!result.body) {
131
- const dataRawMatch = curlCommand.match(/--data-raw\s+['"]([\s\S]*?)['"]\s*$/m);
132
- if (dataRawMatch) {
133
- result.body = dataRawMatch[1].replace(/\\\n/g, '\n').trim();
134
- }
135
- }
136
- // Extract cookies from -b or --cookie flag
137
- const cookieMatch = normalizedCmd.match(/-b\s+['"]([^'"]+)['"]/) ||
138
- normalizedCmd.match(/--cookie\s+['"]([^'"]+)['"]/);
139
- if (cookieMatch) {
140
- const cookieValue = cookieMatch[1];
141
- result.cookies = result.cookies || {};
142
- cookieValue.split(';').forEach(cookie => {
143
- const eqIndex = cookie.indexOf('=');
144
- if (eqIndex > -1) {
145
- const cookieKey = cookie.substring(0, eqIndex).trim();
146
- const cookieValue = cookie.substring(eqIndex + 1).trim();
147
- if (cookieKey) {
148
- result.cookies[cookieKey] = cookieValue;
149
- }
150
- }
151
- });
152
- }
153
- return result;
154
- }
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ let Session;
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ let initTLS;
155
9
  class TlsRequest {
156
10
  constructor() {
157
11
  this.description = {
@@ -160,7 +14,7 @@ class TlsRequest {
160
14
  icon: 'fa:globe',
161
15
  group: ['transform'],
162
16
  version: 1,
163
- description: 'Make HTTP requests with browser TLS fingerprints (like noble-tls)',
17
+ description: 'Make HTTP requests with browser TLS fingerprints',
164
18
  defaults: {
165
19
  name: 'TLS Request',
166
20
  },
@@ -168,44 +22,17 @@ class TlsRequest {
168
22
  outputs: ['main'],
169
23
  properties: [
170
24
  {
171
- displayName: 'cURL Import',
172
- name: 'curlImportNotice',
173
- type: 'notice',
174
- default: '',
175
- placeholder: 'Paste a cURL command below to automatically populate the request fields. The cURL command will be parsed when the node executes.',
176
- },
177
- {
178
- displayName: 'cURL Command',
179
- name: 'curlCommand',
25
+ displayName: 'URL',
26
+ name: 'url',
180
27
  type: 'string',
181
- typeOptions: {
182
- rows: 6,
183
- },
184
- default: '',
185
- placeholder: "curl 'https://api.example.com' -H 'Accept: application/json' ...",
186
- description: 'Paste a cURL command here. When provided, it will override the manual URL, Method, Headers, and Body settings below.',
187
- },
188
- {
189
- displayName: 'Manual Configuration',
190
- name: 'manualConfigNotice',
191
- type: 'notice',
192
28
  default: '',
193
- displayOptions: {
194
- show: {
195
- curlCommand: [''],
196
- },
197
- },
198
- placeholder: 'Configure the request manually below (ignored when cURL command is provided)',
29
+ placeholder: 'https://example.com',
30
+ required: true,
199
31
  },
200
32
  {
201
33
  displayName: 'Method',
202
34
  name: 'method',
203
35
  type: 'options',
204
- displayOptions: {
205
- show: {
206
- curlCommand: [''],
207
- },
208
- },
209
36
  options: [
210
37
  { name: 'DELETE', value: 'DELETE' },
211
38
  { name: 'GET', value: 'GET' },
@@ -218,100 +45,24 @@ class TlsRequest {
218
45
  default: 'GET',
219
46
  },
220
47
  {
221
- displayName: 'URL',
222
- name: 'url',
223
- type: 'string',
224
- displayOptions: {
225
- show: {
226
- curlCommand: [''],
227
- },
228
- },
229
- default: '',
230
- placeholder: 'https://example.com',
231
- required: true,
232
- },
233
- {
234
- displayName: 'Browser ID (TLS Fingerprint)',
48
+ displayName: 'Browser ID',
235
49
  name: 'browserId',
236
50
  type: 'options',
237
51
  options: [
238
- // Chrome
239
- { name: 'Chrome 120', value: 'chrome_120' },
240
- { name: 'Chrome 119', value: 'chrome_119' },
241
- { name: 'Chrome 118', value: 'chrome_118' },
242
52
  { name: 'Chrome 117', value: 'chrome_117' },
243
- { name: 'Chrome 116', value: 'chrome_116' },
244
- { name: 'Chrome 115', value: 'chrome_115' },
245
- { name: 'Chrome 114', value: 'chrome_114' },
246
- { name: 'Chrome 113', value: 'chrome_113' },
247
- { name: 'Chrome 112', value: 'chrome_112' },
248
- { name: 'Chrome 111', value: 'chrome_111' },
249
- { name: 'Chrome 110', value: 'chrome_110' },
250
- { name: 'Chrome 109', value: 'chrome_109' },
251
- { name: 'Chrome 108', value: 'chrome_108' },
252
- { name: 'Chrome 107', value: 'chrome_107' },
253
- { name: 'Chrome 106', value: 'chrome_106' },
254
- { name: 'Chrome 105', value: 'chrome_105' },
255
- { name: 'Chrome 104', value: 'chrome_104' },
256
- { name: 'Chrome 103', value: 'chrome_103' },
257
- // Firefox
258
- { name: 'Firefox 117', value: 'firefox_117' },
259
- { name: 'Firefox 116', value: 'firefox_116' },
260
- { name: 'Firefox 115', value: 'firefox_115' },
261
- { name: 'Firefox 114', value: 'firefox_114' },
262
- { name: 'Firefox 113', value: 'firefox_113' },
263
- { name: 'Firefox 112', value: 'firefox_112' },
264
- { name: 'Firefox 111', value: 'firefox_111' },
265
- { name: 'Firefox 110', value: 'firefox_110' },
266
- { name: 'Firefox 109', value: 'firefox_109' },
267
- { name: 'Firefox 108', value: 'firefox_108' },
268
- { name: 'Firefox 107', value: 'firefox_107' },
269
- { name: 'Firefox 106', value: 'firefox_106' },
270
- { name: 'Firefox 105', value: 'firefox_105' },
271
- { name: 'Firefox 104', value: 'firefox_104' },
272
- { name: 'Firefox 103', value: 'firefox_103' },
53
+ { name: 'Chrome 118', value: 'chrome_118' },
54
+ { name: 'Chrome 119', value: 'chrome_119' },
55
+ { name: 'Chrome 120', value: 'chrome_120' },
273
56
  { name: 'Firefox 102', value: 'firefox_102' },
274
- // Safari (macOS)
275
- { name: 'Safari 17.0', value: 'safari_17_0' },
276
- { name: 'Safari 16.5', value: 'safari_16_5' },
277
- { name: 'Safari 16.0', value: 'safari_16_0' },
278
- { name: 'Safari 15.6.1', value: 'safari_15_6_1' },
279
- { name: 'Safari 15.5', value: 'safari_15_5' },
57
+ { name: 'Firefox 110', value: 'firefox_110' },
58
+ { name: 'Firefox 117', value: 'firefox_117' },
280
59
  { name: 'Safari 15.3', value: 'safari_15_3' },
281
- // Mobile - iOS
282
- { name: 'Safari iOS 17.0', value: 'safari_ios_17_0' },
283
- { name: 'Safari iOS 16.0', value: 'safari_ios_16_0' },
284
- { name: 'Safari iOS 15.6', value: 'safari_ios_15_6' },
60
+ { name: 'Safari 15.6.1', value: 'safari_15_6_1' },
61
+ { name: 'Safari 16.0', value: 'safari_16_0' },
285
62
  { name: 'Safari iOS 15.5', value: 'safari_ios_15_5' },
286
- // Mobile - Android (OkHttp)
287
- { name: 'Android 13 (OkHttp 4.10)', value: 'okhttp4_android_13' },
288
- { name: 'Android 12 (OkHttp 4.9)', value: 'okhttp4_android_12' },
289
- { name: 'Android 11 (OkHttp 4.9)', value: 'okhttp4_android_11' },
290
- { name: 'Android 10 (OkHttp 4.9)', value: 'okhttp4_android_10' },
291
- { name: 'Android 9 (OkHttp 4.9)', value: 'okhttp4_android_9' },
292
- { name: 'Android 8 (OkHttp 4.9)', value: 'okhttp4_android_8' },
293
- { name: 'Android 7 (OkHttp 4.9)', value: 'okhttp4_android_7' },
294
- // Opera
295
- { name: 'Opera 90', value: 'opera_90' },
296
- { name: 'Opera 89', value: 'opera_89' },
63
+ { name: 'Safari iOS 16.0', value: 'safari_ios_16_0' },
297
64
  ],
298
65
  default: 'chrome_120',
299
- description: 'The browser TLS fingerprint to impersonate',
300
- },
301
- {
302
- displayName: 'Proxy',
303
- name: 'proxy',
304
- type: 'string',
305
- default: '',
306
- placeholder: 'http://user:pass@host:port',
307
- description: 'Proxy connection string (supports http:// and socks5://)',
308
- },
309
- {
310
- displayName: 'Send Headers',
311
- name: 'sendHeaders',
312
- type: 'boolean',
313
- default: false,
314
- description: 'Whether to send custom headers with the request',
315
66
  },
316
67
  {
317
68
  displayName: 'Headers',
@@ -321,12 +72,6 @@ class TlsRequest {
321
72
  multipleValues: true,
322
73
  },
323
74
  placeholder: 'Add Header',
324
- displayOptions: {
325
- show: {
326
- sendHeaders: [true],
327
- curlCommand: [''],
328
- },
329
- },
330
75
  default: {},
331
76
  options: [
332
77
  {
@@ -349,151 +94,19 @@ class TlsRequest {
349
94
  },
350
95
  ],
351
96
  },
352
- {
353
- displayName: 'Send Cookies',
354
- name: 'sendCookies',
355
- type: 'boolean',
356
- default: false,
357
- description: 'Whether to send cookies with the request',
358
- },
359
- {
360
- displayName: 'Cookies',
361
- name: 'cookies',
362
- type: 'fixedCollection',
363
- typeOptions: {
364
- multipleValues: true,
365
- },
366
- placeholder: 'Add Cookie',
367
- displayOptions: {
368
- show: {
369
- sendCookies: [true],
370
- curlCommand: [''],
371
- },
372
- },
373
- default: {},
374
- options: [
375
- {
376
- name: 'parameter',
377
- displayName: 'Cookie',
378
- values: [
379
- {
380
- displayName: 'Name',
381
- name: 'name',
382
- type: 'string',
383
- default: '',
384
- },
385
- {
386
- displayName: 'Value',
387
- name: 'value',
388
- type: 'string',
389
- default: '',
390
- },
391
- ],
392
- },
393
- ],
394
- },
395
- {
396
- displayName: 'Send Body',
397
- name: 'sendBody',
398
- type: 'boolean',
399
- default: false,
400
- displayOptions: {
401
- show: {
402
- method: ['POST', 'PUT', 'PATCH', 'DELETE'],
403
- curlCommand: [''],
404
- },
405
- },
406
- description: 'Whether to send a body with the request',
407
- },
408
- {
409
- displayName: 'Content Type',
410
- name: 'contentType',
411
- type: 'options',
412
- displayOptions: {
413
- show: {
414
- sendBody: [true],
415
- method: ['POST', 'PUT', 'PATCH', 'DELETE'],
416
- curlCommand: [''],
417
- },
418
- },
419
- options: [
420
- { name: 'JSON', value: 'json' },
421
- { name: 'Form-Data', value: 'form-data' },
422
- { name: 'Raw', value: 'raw' },
423
- ],
424
- default: 'json',
425
- description: 'The content type of the body',
426
- },
427
97
  {
428
98
  displayName: 'Body',
429
99
  name: 'body',
430
- type: 'json',
431
- displayOptions: {
432
- show: {
433
- sendBody: [true],
434
- contentType: ['json'],
435
- method: ['POST', 'PUT', 'PATCH', 'DELETE'],
436
- curlCommand: [''],
437
- },
438
- },
439
- default: '{}',
440
- description: 'The JSON body to send',
441
- },
442
- {
443
- displayName: 'Body (Form-Data)',
444
- name: 'bodyFormData',
445
- type: 'fixedCollection',
446
- typeOptions: {
447
- multipleValues: true,
448
- },
449
- placeholder: 'Add Field',
450
- displayOptions: {
451
- show: {
452
- sendBody: [true],
453
- contentType: ['form-data'],
454
- method: ['POST', 'PUT', 'PATCH', 'DELETE'],
455
- curlCommand: [''],
456
- },
457
- },
458
- default: {},
459
- options: [
460
- {
461
- name: 'parameter',
462
- displayName: 'Field',
463
- values: [
464
- {
465
- displayName: 'Name',
466
- name: 'name',
467
- type: 'string',
468
- default: '',
469
- },
470
- {
471
- displayName: 'Value',
472
- name: 'value',
473
- type: 'string',
474
- default: '',
475
- },
476
- ],
477
- },
478
- ],
479
- },
480
- {
481
- displayName: 'Body (Raw)',
482
- name: 'bodyRaw',
483
100
  type: 'string',
484
101
  typeOptions: {
485
102
  rows: 4,
486
103
  },
487
104
  displayOptions: {
488
105
  show: {
489
- sendBody: [true],
490
- contentType: ['raw'],
491
106
  method: ['POST', 'PUT', 'PATCH', 'DELETE'],
492
- curlCommand: [''],
493
107
  },
494
108
  },
495
109
  default: '',
496
- description: 'The raw body to send',
497
110
  },
498
111
  {
499
112
  displayName: 'Options',
@@ -502,26 +115,30 @@ class TlsRequest {
502
115
  placeholder: 'Add Option',
503
116
  default: {},
504
117
  options: [
118
+ {
119
+ displayName: 'Proxy',
120
+ name: 'proxy',
121
+ type: 'string',
122
+ default: '',
123
+ placeholder: 'http://user:pass@host:port',
124
+ },
505
125
  {
506
126
  displayName: 'Follow Redirects',
507
127
  name: 'followRedirects',
508
128
  type: 'boolean',
509
129
  default: true,
510
- description: 'Whether to follow HTTP redirects',
511
130
  },
512
131
  {
513
132
  displayName: 'Timeout (Seconds)',
514
133
  name: 'timeout',
515
134
  type: 'number',
516
135
  default: 30,
517
- description: 'Request timeout in seconds (max 120)',
518
136
  },
519
137
  {
520
- displayName: 'Insecure Skip Verify',
138
+ displayName: 'Skip Certificate Verification',
521
139
  name: 'insecureSkipVerify',
522
140
  type: 'boolean',
523
141
  default: false,
524
- description: 'Skip TLS certificate verification (not recommended for production)',
525
142
  },
526
143
  ],
527
144
  },
@@ -531,214 +148,128 @@ class TlsRequest {
531
148
  async execute() {
532
149
  const items = this.getInputData();
533
150
  const returnData = [];
534
- // Initialize TLS once at the start
151
+ // Lazy load the library
152
+ if (!Session) {
153
+ // eslint-disable-next-line @typescript-eslint/no-var-requires, @typescript-eslint/no-require-imports
154
+ const tlsClient = require('node-tls-client');
155
+ Session = tlsClient.Session;
156
+ initTLS = tlsClient.initTLS;
157
+ }
158
+ // Initialize TLS once per execution
535
159
  try {
536
- await ensureTLSInitialized();
160
+ await initTLS();
537
161
  }
538
162
  catch (error) {
539
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Failed to initialize TLS client: ${error.message}. Please ensure node-tls-client is properly installed.`);
163
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
164
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `TLS init failed: ${errorMessage}`);
540
165
  }
541
166
  for (let i = 0; i < items.length; i++) {
167
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
542
168
  let session;
543
169
  try {
544
- // Get parameters
170
+ const url = this.getNodeParameter('url', i);
171
+ const method = this.getNodeParameter('method', i);
545
172
  const browserId = this.getNodeParameter('browserId', i);
546
- const proxy = this.getNodeParameter('proxy', i, '');
547
- const curlCommand = this.getNodeParameter('curlCommand', i, '');
548
173
  const options = this.getNodeParameter('options', i, {});
549
- let method;
550
- let url;
551
- let headers = {};
552
- let cookies = {};
553
- let body = undefined;
554
- // Check if cURL command is provided and parse it
555
- if (curlCommand && curlCommand.trim() !== '') {
556
- const parsed = parseCurlCommand(curlCommand);
557
- if (!parsed.url) {
558
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Could not parse URL from cURL command. Please check the format.', { itemIndex: i });
559
- }
560
- method = parsed.method;
561
- url = parsed.url;
562
- headers = parsed.headers || {};
563
- if (parsed.cookies && Object.keys(parsed.cookies).length > 0) {
564
- cookies = parsed.cookies;
565
- }
566
- if (parsed.body) {
567
- body = parsed.body;
568
- }
174
+ if (!url) {
175
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'URL is required', { itemIndex: i });
569
176
  }
570
- else {
571
- // Use manual configuration
572
- method = this.getNodeParameter('method', i);
573
- url = this.getNodeParameter('url', i);
574
- if (!url) {
575
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'URL is required when not using cURL import', { itemIndex: i });
576
- }
577
- // Handle Headers
578
- const sendHeaders = this.getNodeParameter('sendHeaders', i, false);
579
- if (sendHeaders) {
580
- const headerItems = this.getNodeParameter('headers.parameter', i, []);
581
- for (const item of headerItems) {
582
- if (item.name) {
583
- headers[item.name] = item.value;
584
- }
585
- }
586
- }
587
- // Handle Cookies
588
- const sendCookies = this.getNodeParameter('sendCookies', i, false);
589
- if (sendCookies) {
590
- const cookieItems = this.getNodeParameter('cookies.parameter', i, []);
591
- for (const item of cookieItems) {
592
- if (item.name) {
593
- cookies[item.name] = item.value;
594
- }
595
- }
596
- }
597
- // Handle Body
598
- const sendBody = this.getNodeParameter('sendBody', i, false);
599
- if (sendBody && ['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) {
600
- const contentType = this.getNodeParameter('contentType', i, 'json');
601
- if (contentType === 'json') {
602
- const bodyParam = this.getNodeParameter('body', i, '{}');
603
- if (typeof bodyParam === 'string') {
604
- try {
605
- body = JSON.parse(bodyParam);
606
- }
607
- catch {
608
- body = bodyParam;
609
- }
610
- }
611
- else {
612
- body = bodyParam;
613
- }
614
- // Set JSON content type if not already set
615
- if (!headers['content-type'] && !headers['Content-Type']) {
616
- headers['content-type'] = 'application/json';
617
- }
618
- }
619
- else if (contentType === 'form-data') {
620
- const formDataItems = this.getNodeParameter('bodyFormData.parameter', i, []);
621
- const formData = {};
622
- for (const item of formDataItems) {
623
- if (item.name) {
624
- formData[item.name] = item.value;
625
- }
626
- }
627
- body = new URLSearchParams(formData).toString();
628
- if (!headers['content-type'] && !headers['Content-Type']) {
629
- headers['content-type'] = 'application/x-www-form-urlencoded';
630
- }
631
- }
632
- else {
633
- body = this.getNodeParameter('bodyRaw', i, '');
634
- }
177
+ // Build headers
178
+ const headers = {};
179
+ const headerItems = this.getNodeParameter('headers.parameter', i, []);
180
+ for (const item of headerItems) {
181
+ if (item.name) {
182
+ headers[item.name] = item.value;
635
183
  }
636
184
  }
637
- // Validate URL
638
- if (!url || !url.startsWith('http')) {
639
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Invalid URL: ${url}. URL must start with http:// or https://`, { itemIndex: i });
185
+ // Get body
186
+ let body;
187
+ if (['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) {
188
+ body = this.getNodeParameter('body', i, '');
189
+ if (body === '') {
190
+ body = undefined;
191
+ }
640
192
  }
641
- // Initialize Node TLS Client Session
642
- const timeout = Math.min(options.timeout || 30, 120); // Cap at 120 seconds
193
+ // Create session config
194
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
643
195
  const sessionConfig = {
644
- sessionId: `n8n-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`,
645
196
  clientIdentifier: browserId,
646
- timeout: timeout * 1000, // Convert to milliseconds
197
+ timeout: (options.timeout || 30) * 1000,
647
198
  followRedirects: options.followRedirects !== false,
648
199
  };
649
- if (proxy) {
650
- sessionConfig.proxy = proxy;
200
+ if (options.proxy) {
201
+ sessionConfig.proxy = options.proxy;
651
202
  }
652
203
  if (options.insecureSkipVerify) {
653
204
  sessionConfig.insecureSkipVerify = true;
654
205
  }
655
- // Create session
656
- session = new node_tls_client_1.Session(sessionConfig);
657
- const requestOptions = {
658
- headers,
659
- };
660
- if (Object.keys(cookies).length > 0) {
661
- requestOptions.cookies = cookies;
206
+ // Create session and make request
207
+ session = new Session(sessionConfig);
208
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
209
+ const requestOptions = { headers };
210
+ if (body !== undefined) {
211
+ requestOptions.body = body;
662
212
  }
663
- if (body !== undefined && ['POST', 'PUT', 'PATCH', 'DELETE'].includes(method)) {
664
- if (typeof body === 'object' && !(body instanceof URLSearchParams)) {
665
- requestOptions.body = JSON.stringify(body);
666
- }
667
- else {
668
- requestOptions.body = body;
669
- }
670
- }
671
- // Execute Request with timeout handling
213
+ // Make request based on method
214
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
672
215
  let response;
673
- const methodLower = method.toLowerCase();
674
- try {
675
- switch (methodLower) {
676
- case 'get':
677
- response = await session.get(url, requestOptions);
678
- break;
679
- case 'post':
680
- response = await session.post(url, requestOptions);
681
- break;
682
- case 'put':
683
- response = await session.put(url, requestOptions);
684
- break;
685
- case 'patch':
686
- response = await session.patch(url, requestOptions);
687
- break;
688
- case 'delete':
689
- response = await session.delete(url, requestOptions);
690
- break;
691
- case 'head':
692
- response = await session.head(url, requestOptions);
693
- break;
694
- case 'options':
695
- response = await session.options(url, requestOptions);
696
- break;
697
- default:
698
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Method ${method} not supported`, { itemIndex: i });
699
- }
700
- }
701
- catch (requestError) {
702
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Request failed: ${requestError.message}`, { itemIndex: i });
216
+ switch (method) {
217
+ case 'GET':
218
+ response = await session.get(url, requestOptions);
219
+ break;
220
+ case 'POST':
221
+ response = await session.post(url, requestOptions);
222
+ break;
223
+ case 'PUT':
224
+ response = await session.put(url, requestOptions);
225
+ break;
226
+ case 'PATCH':
227
+ response = await session.patch(url, requestOptions);
228
+ break;
229
+ case 'DELETE':
230
+ response = await session.delete(url, requestOptions);
231
+ break;
232
+ case 'HEAD':
233
+ response = await session.head(url, requestOptions);
234
+ break;
235
+ case 'OPTIONS':
236
+ response = await session.options(url, requestOptions);
237
+ break;
238
+ default:
239
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unsupported method: ${method}`, { itemIndex: i });
703
240
  }
704
- // Process response
705
- let responseData;
241
+ // Parse response body if JSON
242
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
243
+ let responseData = response.body;
706
244
  if (typeof response.body === 'string') {
707
- // Try to parse as JSON
708
245
  try {
709
246
  responseData = JSON.parse(response.body);
710
247
  }
711
248
  catch {
712
- responseData = response.body;
249
+ // Keep as string
713
250
  }
714
251
  }
715
- else {
716
- responseData = response.body;
717
- }
718
252
  returnData.push({
719
253
  json: {
720
254
  status: response.status,
721
- statusText: response.statusText || '',
722
255
  headers: response.headers,
723
- data: responseData,
724
- url: response.url || url,
256
+ body: responseData,
725
257
  },
726
258
  });
727
259
  }
728
260
  catch (error) {
729
261
  if (this.continueOnFail()) {
262
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
730
263
  returnData.push({
731
- json: {
732
- error: error.message,
733
- },
264
+ json: { error: errorMessage },
734
265
  });
735
266
  continue;
736
267
  }
737
268
  throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { itemIndex: i });
738
269
  }
739
270
  finally {
740
- // Always close the session to free resources
741
- if (session) {
271
+ // Always close the session
272
+ if (session && typeof session.close === 'function') {
742
273
  try {
743
274
  await session.close();
744
275
  }
@@ -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.1.1",
3
+ "version": "1.2.2",
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"
@@ -18,7 +18,8 @@
18
18
  "scripts": {
19
19
  "build": "tsc",
20
20
  "dev": "tsc --watch",
21
- "lint": "tslint -p tsconfig.json -c tslint.json",
21
+ "lint": "eslint nodes/**/*.ts",
22
+ "lintfix": "eslint nodes/**/*.ts --fix",
22
23
  "prepublishOnly": "npm run build"
23
24
  },
24
25
  "files": [
@@ -34,7 +35,11 @@
34
35
  },
35
36
  "devDependencies": {
36
37
  "@types/node": "^18.0.0",
38
+ "@typescript-eslint/eslint-plugin": "^8.54.0",
39
+ "@typescript-eslint/parser": "^8.54.0",
40
+ "eslint": "^9.39.2",
41
+ "eslint-plugin-n8n-nodes-base": "^1.16.6",
37
42
  "n8n-workflow": "*",
38
43
  "typescript": "^5.0.0"
39
44
  }
40
- }
45
+ }