@n8n/backend-network 1.9.1 → 1.10.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.
@@ -1,4 +1,6 @@
1
1
  export declare function isConnectionRefusedError(error: unknown): boolean;
2
+ export declare function isTransportFailure(error: unknown): boolean;
3
+ export declare function isDnsFailure(error: unknown): boolean;
2
4
  export declare function isAxiosError(error: unknown): boolean;
3
5
  export declare function httpStatusFromError(error: unknown): number | undefined;
4
6
  export interface HttpRequestError extends Error {
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isConnectionRefusedError = isConnectionRefusedError;
4
+ exports.isTransportFailure = isTransportFailure;
5
+ exports.isDnsFailure = isDnsFailure;
4
6
  exports.isAxiosError = isAxiosError;
5
7
  exports.httpStatusFromError = httpStatusFromError;
6
8
  exports.markHttpRequestError = markHttpRequestError;
@@ -11,6 +13,41 @@ function isConnectionRefusedError(error) {
11
13
  'code' in error &&
12
14
  error.code === 'ECONNREFUSED');
13
15
  }
16
+ const TRANSPORT_FAILURE_CODES = new Set([
17
+ 'ECONNABORTED',
18
+ 'ECONNREFUSED',
19
+ 'ECONNRESET',
20
+ 'EHOSTUNREACH',
21
+ 'ENETDOWN',
22
+ 'ENETUNREACH',
23
+ 'EPIPE',
24
+ 'ETIMEDOUT',
25
+ 'UND_ERR_BODY_TIMEOUT',
26
+ 'UND_ERR_CONNECT_TIMEOUT',
27
+ 'UND_ERR_HEADERS_TIMEOUT',
28
+ 'UND_ERR_SOCKET',
29
+ ]);
30
+ const DNS_FAILURE_CODES = new Set(['EAI_AGAIN', 'ENOTFOUND']);
31
+ function isTransportFailure(error) {
32
+ return ((error instanceof Error && error.name === 'TypeError' && error.message === 'terminated') ||
33
+ hasErrorCode(error, TRANSPORT_FAILURE_CODES));
34
+ }
35
+ function isDnsFailure(error) {
36
+ return hasErrorCode(error, DNS_FAILURE_CODES);
37
+ }
38
+ function hasErrorCode(error, codes, visited = new WeakSet()) {
39
+ if (typeof error !== 'object' || error === null) {
40
+ return false;
41
+ }
42
+ if (visited.has(error)) {
43
+ return false;
44
+ }
45
+ visited.add(error);
46
+ if ('code' in error && typeof error.code === 'string' && codes.has(error.code)) {
47
+ return true;
48
+ }
49
+ return 'cause' in error && hasErrorCode(error.cause, codes, visited);
50
+ }
14
51
  function isAxiosError(error) {
15
52
  return (typeof error === 'object' &&
16
53
  error !== null &&
@@ -1 +1 @@
1
- {"version":3,"file":"client-request-error.js","sourceRoot":"","sources":["../../src/http/client-request-error.ts"],"names":[],"mappings":";;;;;;;AAYA,kCAAyC,KAAc;IACtD,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACd,KAA4B,CAAC,IAAI,KAAK,cAAc,CACrD,CAAC;AACH,CAAC;AAWD,sBAA6B,KAAc;IAC1C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAoC,CAAC,YAAY,KAAK,IAAI,CAC3D,CAAC;AACH,CAAC;AAKD,6BAAoC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACxE,MAAM,QAAQ,GAAI,KAA6C,CAAC,QAAQ,CAAC;QACzE,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrD,OAAO,QAAQ,CAAC,MAAM,CAAC;QACxB,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAgBD,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;AAOhF,8BAAwC,KAAQ;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE;YAChD,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAOD,4BAAmC,KAAc;IAChD,OAAO,CACN,KAAK,YAAY,KAAK;QACrB,KAA4C,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAC1E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"client-request-error.js","sourceRoot":"","sources":["../../src/http/client-request-error.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export { binaryToString } from './binary-string';
9
9
  export type { NodeAgentOptions, ProxyOption, ProxyUrl, SsrfOption } from './node-agents';
10
10
  export type { CustomFetch, RequestAuthorizer } from './undici/transport';
11
11
  export { OutboundHttp, type HttpRequestClient, type HttpTransport, type HttpTransportOptions, type TypedHttpFullResponse, } from './outbound-http';
12
- export { httpStatusFromError, isAxiosError, isConnectionRefusedError, isHttpRequestError, markHttpRequestError, type HttpRequestError, } from './client-request-error';
12
+ export { httpStatusFromError, isAxiosError, isConnectionRefusedError, isDnsFailure, isHttpRequestError, isTransportFailure, markHttpRequestError, type HttpRequestError, } from './client-request-error';
13
13
  export type { HttpRequestDefaultHeaders } from './client-default-headers';
14
14
  export type { HttpRequestClientOptions } from './client-options';
15
15
  export type { LegacyRequestCallbacks } from './legacy-request';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.markHttpRequestError = exports.isHttpRequestError = exports.isConnectionRefusedError = exports.isAxiosError = exports.httpStatusFromError = exports.OutboundHttp = exports.binaryToString = exports.streamToBuffer = exports.binaryToBuffer = exports.parseIncomingMessage = exports.removeEmptyBody = exports.httpRequest = exports.tryParseUrl = exports.configureGlobalAxiosDefaults = exports.installGlobalProxyAgent = exports.resolveProxyUrl = exports.createHttpsProxyAgent = exports.createHttpProxyAgent = void 0;
3
+ exports.markHttpRequestError = exports.isTransportFailure = exports.isHttpRequestError = exports.isDnsFailure = exports.isConnectionRefusedError = exports.isAxiosError = exports.httpStatusFromError = exports.OutboundHttp = exports.binaryToString = exports.streamToBuffer = exports.binaryToBuffer = exports.parseIncomingMessage = exports.removeEmptyBody = exports.httpRequest = exports.tryParseUrl = exports.configureGlobalAxiosDefaults = exports.installGlobalProxyAgent = exports.resolveProxyUrl = exports.createHttpsProxyAgent = exports.createHttpProxyAgent = void 0;
4
4
  var proxy_resolution_1 = require("../proxy/proxy-resolution");
5
5
  Object.defineProperty(exports, "createHttpProxyAgent", { enumerable: true, get: function () { return proxy_resolution_1.createHttpProxyAgent; } });
6
6
  Object.defineProperty(exports, "createHttpsProxyAgent", { enumerable: true, get: function () { return proxy_resolution_1.createHttpsProxyAgent; } });
@@ -27,6 +27,8 @@ var client_request_error_1 = require("./client-request-error");
27
27
  Object.defineProperty(exports, "httpStatusFromError", { enumerable: true, get: function () { return client_request_error_1.httpStatusFromError; } });
28
28
  Object.defineProperty(exports, "isAxiosError", { enumerable: true, get: function () { return client_request_error_1.isAxiosError; } });
29
29
  Object.defineProperty(exports, "isConnectionRefusedError", { enumerable: true, get: function () { return client_request_error_1.isConnectionRefusedError; } });
30
+ Object.defineProperty(exports, "isDnsFailure", { enumerable: true, get: function () { return client_request_error_1.isDnsFailure; } });
30
31
  Object.defineProperty(exports, "isHttpRequestError", { enumerable: true, get: function () { return client_request_error_1.isHttpRequestError; } });
32
+ Object.defineProperty(exports, "isTransportFailure", { enumerable: true, get: function () { return client_request_error_1.isTransportFailure; } });
31
33
  Object.defineProperty(exports, "markHttpRequestError", { enumerable: true, get: function () { return client_request_error_1.markHttpRequestError; } });
32
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;AAAA,8DAImC;AAHlC,wHAAA,oBAAoB,OAAA;AACpB,yHAAA,qBAAqB,OAAA;AACrB,mHAAA,eAAe,OAAA;AAEhB,2CAAuD;AAA9C,qHAAA,uBAAuB,OAAA;AAChC,yCAA8D;AAArD,sHAAA,4BAA4B,OAAA;AACrC,uCAA4C;AAAnC,oGAAA,WAAW,OAAA;AACpB,2CAA+D;AAAtD,sGAAA,WAAW,OAAA;AAAE,0GAAA,eAAe,OAAA;AACrC,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,iDAAiE;AAAxD,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AACvC,iDAAiD;AAAxC,+GAAA,cAAc,OAAA;AAGvB,iDAMyB;AALxB,6GAAA,YAAY,OAAA;AAMb,+DAOgC;AAN/B,2HAAA,mBAAmB,OAAA;AACnB,oHAAA,YAAY,OAAA;AACZ,gIAAA,wBAAwB,OAAA;AACxB,0HAAA,kBAAkB,OAAA;AAClB,4HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":";;;AAAA,8DAImC;AAHlC,wHAAA,oBAAoB,OAAA;AACpB,yHAAA,qBAAqB,OAAA;AACrB,mHAAA,eAAe,OAAA;AAEhB,2CAAuD;AAA9C,qHAAA,uBAAuB,OAAA;AAChC,yCAA8D;AAArD,sHAAA,4BAA4B,OAAA;AACrC,uCAA4C;AAAnC,oGAAA,WAAW,OAAA;AACpB,2CAA+D;AAAtD,sGAAA,WAAW,OAAA;AAAE,0GAAA,eAAe,OAAA;AACrC,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,iDAAiE;AAAxD,+GAAA,cAAc,OAAA;AAAE,+GAAA,cAAc,OAAA;AACvC,iDAAiD;AAAxC,+GAAA,cAAc,OAAA;AAGvB,iDAMyB;AALxB,6GAAA,YAAY,OAAA;AAMb,+DASgC;AAR/B,2HAAA,mBAAmB,OAAA;AACnB,oHAAA,YAAY,OAAA;AACZ,gIAAA,wBAAwB,OAAA;AACxB,oHAAA,YAAY,OAAA;AACZ,0HAAA,kBAAkB,OAAA;AAClB,0HAAA,kBAAkB,OAAA;AAClB,4HAAA,oBAAoB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/backend-network",
3
- "version": "1.9.1",
3
+ "version": "1.10.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -41,8 +41,8 @@
41
41
  },
42
42
  "files": [
43
43
  "dist/**/*",
44
- "LICENSE.md",
45
- "LICENSE_EE.md"
44
+ "LICENSE_EE.md",
45
+ "LICENSE.md"
46
46
  ],
47
47
  "dependencies": {
48
48
  "axios": "1.18.0",
@@ -56,12 +56,12 @@
56
56
  "reflect-metadata": "0.2.2",
57
57
  "undici": "^7.29.0",
58
58
  "zod": "3.25.76",
59
- "@n8n/config": "2.33.1",
60
- "@n8n/backend-common": "1.35.1",
61
- "@n8n/constants": "0.34.0",
59
+ "@n8n/constants": "0.35.0",
62
60
  "@n8n/di": "0.16.0",
63
- "@n8n/utils": "1.43.0",
64
- "n8n-workflow": "2.35.0"
61
+ "@n8n/backend-common": "1.36.0",
62
+ "@n8n/utils": "1.44.0",
63
+ "@n8n/config": "2.34.0",
64
+ "n8n-workflow": "2.36.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/proxy-from-env": "^1.0.4",
@@ -71,8 +71,8 @@
71
71
  "typescript": "7.0.2",
72
72
  "vitest": "^4.1.9",
73
73
  "vitest-mock-extended": "^3.1.0",
74
- "@n8n/typescript-config": "1.9.0",
75
- "@n8n/vitest-config": "1.20.0"
74
+ "@n8n/typescript-config": "1.10.0",
75
+ "@n8n/vitest-config": "1.21.0"
76
76
  },
77
77
  "license": "SEE LICENSE IN LICENSE.md",
78
78
  "homepage": "https://n8n.io",