@loopback/http-caching-proxy 7.0.9 → 7.0.10
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.
|
@@ -25,6 +25,13 @@ export interface ProxyOptions {
|
|
|
25
25
|
* Timeout to connect to the target service
|
|
26
26
|
*/
|
|
27
27
|
timeout?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Whether to reject unauthorized SSL certificates.
|
|
30
|
+
* Set to false to allow self-signed certificates in test environments.
|
|
31
|
+
*
|
|
32
|
+
* Default: true (strict SSL validation)
|
|
33
|
+
*/
|
|
34
|
+
rejectUnauthorized?: boolean;
|
|
28
35
|
}
|
|
29
36
|
/**
|
|
30
37
|
* The HTTP proxy implementation.
|
|
@@ -17,6 +17,7 @@ const DEFAULT_OPTIONS = {
|
|
|
17
17
|
ttl: 24 * 60 * 60 * 1000,
|
|
18
18
|
logError: true,
|
|
19
19
|
timeout: 0,
|
|
20
|
+
rejectUnauthorized: true,
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
22
23
|
* The HTTP proxy implementation.
|
|
@@ -34,6 +35,10 @@ class HttpCachingProxy {
|
|
|
34
35
|
// http status code. Please note that Axios creates a new error in such
|
|
35
36
|
// condition and the original low-level error is lost
|
|
36
37
|
validateStatus: () => true,
|
|
38
|
+
// Configure SSL certificate validation based on options
|
|
39
|
+
httpsAgent: new (require('node:https').Agent)({
|
|
40
|
+
rejectUnauthorized: this._options.rejectUnauthorized,
|
|
41
|
+
}),
|
|
37
42
|
});
|
|
38
43
|
}
|
|
39
44
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-caching-proxy.js","sourceRoot":"","sources":["../src/http-caching-proxy.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,4CAA4C;AAC5C,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAA2C;AAC3C,0DAAiC;AACjC,6CAAiC;AACjC,yCAMmB;AAGnB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnC,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,6BAA6B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"http-caching-proxy.js","sourceRoot":"","sources":["../src/http-caching-proxy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/http-caching-proxy",
|
|
3
3
|
"description": "A caching HTTP proxy for integration tests. NOT SUITABLE FOR PRODUCTION USE!",
|
|
4
|
-
"version": "7.0.
|
|
4
|
+
"version": "7.0.10",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"LoopBack",
|
|
7
7
|
"HTTP",
|
|
@@ -39,21 +39,21 @@
|
|
|
39
39
|
"!*/__tests__"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"axios": "^1.13.
|
|
42
|
+
"axios": "^1.13.6",
|
|
43
43
|
"cacache": "^20.0.3",
|
|
44
44
|
"debug": "^4.4.3",
|
|
45
45
|
"rimraf": "^5.0.10",
|
|
46
46
|
"tslib": "^2.8.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@loopback/build": "^12.0.
|
|
49
|
+
"@loopback/build": "^12.0.10",
|
|
50
50
|
"@loopback/eslint-config": "^16.0.1",
|
|
51
|
-
"@loopback/testlab": "^8.0.
|
|
51
|
+
"@loopback/testlab": "^8.0.10",
|
|
52
52
|
"@types/debug": "^4.1.12",
|
|
53
53
|
"@types/node": "^16.18.126",
|
|
54
54
|
"@types/tunnel": "0.0.7",
|
|
55
55
|
"delay": "^7.0.0",
|
|
56
56
|
"tunnel": "0.0.6"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "ae59e33540f12a77c652749c8266bb007302c24e"
|
|
59
59
|
}
|
|
@@ -8,9 +8,9 @@ import debugFactory from 'debug';
|
|
|
8
8
|
import {once} from 'node:events';
|
|
9
9
|
import {
|
|
10
10
|
createServer,
|
|
11
|
+
Server as HttpServer,
|
|
11
12
|
IncomingMessage,
|
|
12
13
|
OutgoingHttpHeaders,
|
|
13
|
-
Server as HttpServer,
|
|
14
14
|
ServerResponse,
|
|
15
15
|
} from 'node:http';
|
|
16
16
|
import {AddressInfo} from 'node:net';
|
|
@@ -48,6 +48,14 @@ export interface ProxyOptions {
|
|
|
48
48
|
* Timeout to connect to the target service
|
|
49
49
|
*/
|
|
50
50
|
timeout?: number;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Whether to reject unauthorized SSL certificates.
|
|
54
|
+
* Set to false to allow self-signed certificates in test environments.
|
|
55
|
+
*
|
|
56
|
+
* Default: true (strict SSL validation)
|
|
57
|
+
*/
|
|
58
|
+
rejectUnauthorized?: boolean;
|
|
51
59
|
}
|
|
52
60
|
|
|
53
61
|
const DEFAULT_OPTIONS = {
|
|
@@ -55,6 +63,7 @@ const DEFAULT_OPTIONS = {
|
|
|
55
63
|
ttl: 24 * 60 * 60 * 1000,
|
|
56
64
|
logError: true,
|
|
57
65
|
timeout: 0,
|
|
66
|
+
rejectUnauthorized: true,
|
|
58
67
|
};
|
|
59
68
|
|
|
60
69
|
interface CachedMetadata {
|
|
@@ -89,6 +98,10 @@ export class HttpCachingProxy {
|
|
|
89
98
|
// http status code. Please note that Axios creates a new error in such
|
|
90
99
|
// condition and the original low-level error is lost
|
|
91
100
|
validateStatus: () => true,
|
|
101
|
+
// Configure SSL certificate validation based on options
|
|
102
|
+
httpsAgent: new (require('node:https').Agent)({
|
|
103
|
+
rejectUnauthorized: this._options.rejectUnauthorized,
|
|
104
|
+
}),
|
|
92
105
|
});
|
|
93
106
|
}
|
|
94
107
|
|