@serenity-js/rest 3.41.2 → 3.42.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/CHANGELOG.md +17 -0
- package/esm/index.d.ts +3 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -0
- package/esm/io/AxiosRequestConfigDefaults.d.ts +15 -0
- package/esm/io/AxiosRequestConfigDefaults.d.ts.map +1 -0
- package/esm/io/AxiosRequestConfigDefaults.js +2 -0
- package/esm/io/AxiosRequestConfigDefaults.js.map +1 -0
- package/esm/io/EnvironmentVariables.d.ts +9 -0
- package/esm/io/EnvironmentVariables.d.ts.map +1 -0
- package/esm/io/EnvironmentVariables.js +35 -0
- package/esm/io/EnvironmentVariables.js.map +1 -0
- package/esm/io/ProxyAgent.d.ts +52 -0
- package/esm/io/ProxyAgent.d.ts.map +1 -0
- package/esm/io/ProxyAgent.js +83 -0
- package/esm/io/ProxyAgent.js.map +1 -0
- package/esm/io/ProxyBypass.d.ts +6 -0
- package/esm/io/ProxyBypass.d.ts.map +1 -0
- package/esm/io/ProxyBypass.js +66 -0
- package/esm/io/ProxyBypass.js.map +1 -0
- package/esm/io/createAxios.d.ts +9 -0
- package/esm/io/createAxios.d.ts.map +1 -0
- package/esm/io/createAxios.js +40 -0
- package/esm/io/createAxios.js.map +1 -0
- package/esm/io/createUrl.d.ts +9 -0
- package/esm/io/createUrl.d.ts.map +1 -0
- package/esm/io/createUrl.js +26 -0
- package/esm/io/createUrl.js.map +1 -0
- package/esm/io/index.d.ts +3 -0
- package/esm/io/index.d.ts.map +1 -0
- package/esm/io/index.js +3 -0
- package/esm/io/index.js.map +1 -0
- package/esm/io/proxy.d.ts +14 -0
- package/esm/io/proxy.d.ts.map +1 -0
- package/esm/io/proxy.js +66 -0
- package/esm/io/proxy.js.map +1 -0
- package/esm/screenplay/abilities/AxiosRequestConfigDefaults.d.ts +14 -0
- package/esm/screenplay/abilities/AxiosRequestConfigDefaults.d.ts.map +1 -0
- package/esm/screenplay/abilities/AxiosRequestConfigDefaults.js +2 -0
- package/esm/screenplay/abilities/AxiosRequestConfigDefaults.js.map +1 -0
- package/esm/screenplay/abilities/CallAnApi.d.ts +443 -0
- package/esm/screenplay/abilities/CallAnApi.d.ts.map +1 -0
- package/esm/screenplay/abilities/CallAnApi.js +555 -0
- package/esm/screenplay/abilities/CallAnApi.js.map +1 -0
- package/esm/screenplay/abilities/index.d.ts +2 -0
- package/esm/screenplay/abilities/index.d.ts.map +1 -0
- package/esm/screenplay/abilities/index.js +2 -0
- package/esm/screenplay/abilities/index.js.map +1 -0
- package/esm/screenplay/index.d.ts +5 -0
- package/esm/screenplay/index.d.ts.map +1 -0
- package/esm/screenplay/index.js +5 -0
- package/esm/screenplay/index.js.map +1 -0
- package/esm/screenplay/interactions/ChangeApiConfig.d.ts +135 -0
- package/esm/screenplay/interactions/ChangeApiConfig.d.ts.map +1 -0
- package/esm/screenplay/interactions/ChangeApiConfig.js +212 -0
- package/esm/screenplay/interactions/ChangeApiConfig.js.map +1 -0
- package/esm/screenplay/interactions/Send.d.ts +48 -0
- package/esm/screenplay/interactions/Send.d.ts.map +1 -0
- package/esm/screenplay/interactions/Send.js +83 -0
- package/esm/screenplay/interactions/Send.js.map +1 -0
- package/esm/screenplay/interactions/index.d.ts +3 -0
- package/esm/screenplay/interactions/index.d.ts.map +1 -0
- package/esm/screenplay/interactions/index.js +3 -0
- package/esm/screenplay/interactions/index.js.map +1 -0
- package/esm/screenplay/models/DeleteRequest.d.ts +66 -0
- package/esm/screenplay/models/DeleteRequest.d.ts.map +1 -0
- package/esm/screenplay/models/DeleteRequest.js +69 -0
- package/esm/screenplay/models/DeleteRequest.js.map +1 -0
- package/esm/screenplay/models/GetRequest.d.ts +73 -0
- package/esm/screenplay/models/GetRequest.d.ts.map +1 -0
- package/esm/screenplay/models/GetRequest.js +76 -0
- package/esm/screenplay/models/GetRequest.js.map +1 -0
- package/esm/screenplay/models/HTTPRequest.d.ts +40 -0
- package/esm/screenplay/models/HTTPRequest.d.ts.map +1 -0
- package/esm/screenplay/models/HTTPRequest.js +62 -0
- package/esm/screenplay/models/HTTPRequest.js.map +1 -0
- package/esm/screenplay/models/HeadRequest.d.ts +58 -0
- package/esm/screenplay/models/HeadRequest.d.ts.map +1 -0
- package/esm/screenplay/models/HeadRequest.js +61 -0
- package/esm/screenplay/models/HeadRequest.js.map +1 -0
- package/esm/screenplay/models/OptionsRequest.d.ts +61 -0
- package/esm/screenplay/models/OptionsRequest.d.ts.map +1 -0
- package/esm/screenplay/models/OptionsRequest.js +64 -0
- package/esm/screenplay/models/OptionsRequest.js.map +1 -0
- package/esm/screenplay/models/PatchRequest.d.ts +65 -0
- package/esm/screenplay/models/PatchRequest.d.ts.map +1 -0
- package/esm/screenplay/models/PatchRequest.js +70 -0
- package/esm/screenplay/models/PatchRequest.js.map +1 -0
- package/esm/screenplay/models/PostRequest.d.ts +105 -0
- package/esm/screenplay/models/PostRequest.d.ts.map +1 -0
- package/esm/screenplay/models/PostRequest.js +110 -0
- package/esm/screenplay/models/PostRequest.js.map +1 -0
- package/esm/screenplay/models/PutRequest.d.ts +75 -0
- package/esm/screenplay/models/PutRequest.d.ts.map +1 -0
- package/esm/screenplay/models/PutRequest.js +80 -0
- package/esm/screenplay/models/PutRequest.js.map +1 -0
- package/esm/screenplay/models/index.d.ts +9 -0
- package/esm/screenplay/models/index.d.ts.map +1 -0
- package/esm/screenplay/models/index.js +9 -0
- package/esm/screenplay/models/index.js.map +1 -0
- package/esm/screenplay/questions/LastResponse.d.ts +189 -0
- package/esm/screenplay/questions/LastResponse.d.ts.map +1 -0
- package/esm/screenplay/questions/LastResponse.js +205 -0
- package/esm/screenplay/questions/LastResponse.js.map +1 -0
- package/esm/screenplay/questions/index.d.ts +2 -0
- package/esm/screenplay/questions/index.d.ts.map +1 -0
- package/esm/screenplay/questions/index.js +2 -0
- package/esm/screenplay/questions/index.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/io/ProxyBypass.js +2 -2
- package/lib/io/ProxyBypass.js.map +1 -1
- package/lib/io/createAxios.d.ts +1 -1
- package/lib/io/createAxios.d.ts.map +1 -1
- package/lib/io/createAxios.js +2 -2
- package/lib/io/createAxios.js.map +1 -1
- package/lib/io/index.d.ts +2 -2
- package/lib/io/index.d.ts.map +1 -1
- package/lib/io/index.js +2 -2
- package/lib/io/index.js.map +1 -1
- package/lib/io/proxy.d.ts +2 -2
- package/lib/io/proxy.d.ts.map +1 -1
- package/lib/io/proxy.js +9 -9
- package/lib/io/proxy.js.map +1 -1
- package/lib/package.json +1 -0
- package/lib/screenplay/abilities/CallAnApi.d.ts +1 -1
- package/lib/screenplay/abilities/CallAnApi.d.ts.map +1 -1
- package/lib/screenplay/abilities/CallAnApi.js +4 -4
- package/lib/screenplay/abilities/CallAnApi.js.map +1 -1
- package/lib/screenplay/abilities/index.d.ts +1 -1
- package/lib/screenplay/abilities/index.d.ts.map +1 -1
- package/lib/screenplay/abilities/index.js +1 -1
- package/lib/screenplay/abilities/index.js.map +1 -1
- package/lib/screenplay/index.d.ts +4 -4
- package/lib/screenplay/index.d.ts.map +1 -1
- package/lib/screenplay/index.js +4 -4
- package/lib/screenplay/index.js.map +1 -1
- package/lib/screenplay/interactions/ChangeApiConfig.js +4 -4
- package/lib/screenplay/interactions/ChangeApiConfig.js.map +1 -1
- package/lib/screenplay/interactions/Send.js +3 -3
- package/lib/screenplay/interactions/Send.js.map +1 -1
- package/lib/screenplay/interactions/index.d.ts +2 -2
- package/lib/screenplay/interactions/index.d.ts.map +1 -1
- package/lib/screenplay/interactions/index.js +2 -2
- package/lib/screenplay/interactions/index.js.map +1 -1
- package/lib/screenplay/models/DeleteRequest.d.ts +1 -1
- package/lib/screenplay/models/DeleteRequest.d.ts.map +1 -1
- package/lib/screenplay/models/DeleteRequest.js +2 -2
- package/lib/screenplay/models/DeleteRequest.js.map +1 -1
- package/lib/screenplay/models/GetRequest.d.ts +1 -1
- package/lib/screenplay/models/GetRequest.d.ts.map +1 -1
- package/lib/screenplay/models/GetRequest.js +2 -2
- package/lib/screenplay/models/GetRequest.js.map +1 -1
- package/lib/screenplay/models/HTTPRequest.js +1 -1
- package/lib/screenplay/models/HTTPRequest.js.map +1 -1
- package/lib/screenplay/models/HeadRequest.d.ts +1 -1
- package/lib/screenplay/models/HeadRequest.d.ts.map +1 -1
- package/lib/screenplay/models/HeadRequest.js +2 -2
- package/lib/screenplay/models/HeadRequest.js.map +1 -1
- package/lib/screenplay/models/OptionsRequest.d.ts +1 -1
- package/lib/screenplay/models/OptionsRequest.d.ts.map +1 -1
- package/lib/screenplay/models/OptionsRequest.js +2 -2
- package/lib/screenplay/models/OptionsRequest.js.map +1 -1
- package/lib/screenplay/models/PatchRequest.d.ts +1 -1
- package/lib/screenplay/models/PatchRequest.d.ts.map +1 -1
- package/lib/screenplay/models/PatchRequest.js +2 -2
- package/lib/screenplay/models/PatchRequest.js.map +1 -1
- package/lib/screenplay/models/PostRequest.d.ts +1 -1
- package/lib/screenplay/models/PostRequest.d.ts.map +1 -1
- package/lib/screenplay/models/PostRequest.js +2 -2
- package/lib/screenplay/models/PostRequest.js.map +1 -1
- package/lib/screenplay/models/PutRequest.d.ts +1 -1
- package/lib/screenplay/models/PutRequest.d.ts.map +1 -1
- package/lib/screenplay/models/PutRequest.js +2 -2
- package/lib/screenplay/models/PutRequest.js.map +1 -1
- package/lib/screenplay/models/index.d.ts +8 -8
- package/lib/screenplay/models/index.d.ts.map +1 -1
- package/lib/screenplay/models/index.js +8 -8
- package/lib/screenplay/models/index.js.map +1 -1
- package/lib/screenplay/questions/LastResponse.js +5 -5
- package/lib/screenplay/questions/LastResponse.js.map +1 -1
- package/lib/screenplay/questions/index.d.ts +1 -1
- package/lib/screenplay/questions/index.d.ts.map +1 -1
- package/lib/screenplay/questions/index.js +1 -1
- package/lib/screenplay/questions/index.js.map +1 -1
- package/package.json +28 -10
- package/src/index.ts +2 -2
- package/src/io/ProxyBypass.ts +1 -1
- package/src/io/createAxios.ts +2 -2
- package/src/io/index.ts +2 -2
- package/src/io/proxy.ts +5 -5
- package/src/screenplay/abilities/CallAnApi.ts +3 -3
- package/src/screenplay/abilities/index.ts +1 -1
- package/src/screenplay/index.ts +4 -4
- package/src/screenplay/interactions/ChangeApiConfig.ts +1 -1
- package/src/screenplay/interactions/Send.ts +3 -3
- package/src/screenplay/interactions/index.ts +2 -2
- package/src/screenplay/models/DeleteRequest.ts +1 -1
- package/src/screenplay/models/GetRequest.ts +1 -1
- package/src/screenplay/models/HTTPRequest.ts +1 -1
- package/src/screenplay/models/HeadRequest.ts +1 -1
- package/src/screenplay/models/OptionsRequest.ts +1 -1
- package/src/screenplay/models/PatchRequest.ts +1 -1
- package/src/screenplay/models/PostRequest.ts +1 -1
- package/src/screenplay/models/PutRequest.ts +1 -1
- package/src/screenplay/models/index.ts +8 -8
- package/src/screenplay/questions/LastResponse.ts +1 -1
- package/src/screenplay/questions/index.ts +1 -1
- package/tsconfig-cjs.build.json +17 -0
- package/tsconfig-esm.build.json +18 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.42.0](https://github.com/serenity-js/serenity-js/compare/v3.41.2...v3.42.0) (2026-03-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **deps:** update dependency lru-cache to v11.2.7 ([d92ee9a](https://github.com/serenity-js/serenity-js/commit/d92ee9a0d9d29256ae2fbf1fef5987dd3985e4d7))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **core:** add dual ESM/CJS build support for Wave 2 packages ([0e2631c](https://github.com/serenity-js/serenity-js/commit/0e2631ca7cdbe68da7feec343eaf4f7fe9bb64d6))
|
|
17
|
+
* **core:** add ESM/CJS dual build support for web packages ([94c5a64](https://github.com/serenity-js/serenity-js/commit/94c5a6423dc369477bbabbacee5a54f8fca20209))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
## [3.41.2](https://github.com/serenity-js/serenity-js/compare/v3.41.1...v3.41.2) (2026-03-05)
|
|
7
24
|
|
|
8
25
|
|
package/esm/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
package/esm/index.js
ADDED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type CreateAxiosDefaults } from 'axios';
|
|
2
|
+
export type AxiosRequestConfigProxyDefaults = {
|
|
3
|
+
host: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
auth?: {
|
|
6
|
+
username: string;
|
|
7
|
+
password: string;
|
|
8
|
+
};
|
|
9
|
+
protocol?: string;
|
|
10
|
+
bypass?: string;
|
|
11
|
+
};
|
|
12
|
+
export type AxiosRequestConfigDefaults<Data = any> = Omit<CreateAxiosDefaults<Data>, 'proxy'> & {
|
|
13
|
+
proxy?: AxiosRequestConfigProxyDefaults | false;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=AxiosRequestConfigDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxiosRequestConfigDefaults.d.ts","sourceRoot":"","sources":["../../src/io/AxiosRequestConfigDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD,MAAM,MAAM,+BAA+B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,0BAA0B,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5F,KAAK,CAAC,EAAE,+BAA+B,GAAG,KAAK,CAAC;CACnD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxiosRequestConfigDefaults.js","sourceRoot":"","sources":["../../src/io/AxiosRequestConfigDefaults.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class EnvironmentVariables {
|
|
2
|
+
private readonly env;
|
|
3
|
+
constructor(env?: NodeJS.ProcessEnv);
|
|
4
|
+
isSet(name: string): boolean;
|
|
5
|
+
get(name: string): string | undefined;
|
|
6
|
+
find(name: string): string | undefined;
|
|
7
|
+
findFirst(...names: string[]): string | undefined;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=EnvironmentVariables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentVariables.d.ts","sourceRoot":"","sources":["../../src/io/EnvironmentVariables.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,GAAE,MAAM,CAAC,UAAwB;IAGjE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI5B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIrC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAgBtC,SAAS,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS;CAUpD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class EnvironmentVariables {
|
|
2
|
+
env;
|
|
3
|
+
constructor(env = process.env) {
|
|
4
|
+
this.env = env;
|
|
5
|
+
}
|
|
6
|
+
isSet(name) {
|
|
7
|
+
return this.env[name] !== undefined;
|
|
8
|
+
}
|
|
9
|
+
get(name) {
|
|
10
|
+
return this.env[name];
|
|
11
|
+
}
|
|
12
|
+
find(name) {
|
|
13
|
+
const candidateNames = [
|
|
14
|
+
name,
|
|
15
|
+
name.toLocaleUpperCase(),
|
|
16
|
+
name.toLocaleLowerCase(),
|
|
17
|
+
];
|
|
18
|
+
for (const variableName of candidateNames) {
|
|
19
|
+
if (this.isSet(variableName)) {
|
|
20
|
+
return this.get(variableName);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
findFirst(...names) {
|
|
26
|
+
for (const name of names) {
|
|
27
|
+
const found = this.find(name);
|
|
28
|
+
if (found) {
|
|
29
|
+
return found;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=EnvironmentVariables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnvironmentVariables.js","sourceRoot":"","sources":["../../src/io/EnvironmentVariables.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IACA;IAA7B,YAA6B,MAAyB,OAAO,CAAC,GAAG;QAApC,QAAG,GAAH,GAAG,CAAiC;IACjE,CAAC;IAED,KAAK,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,IAAY;QACb,MAAM,cAAc,GAAG;YACnB,IAAI;YACJ,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,EAAE;SAC3B,CAAC;QAEF,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,SAAS,CAAC,GAAG,KAAe;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { AgentConnectOpts } from 'agent-base';
|
|
2
|
+
import { Agent } from 'agent-base';
|
|
3
|
+
import * as http from 'http';
|
|
4
|
+
import { type HttpProxyAgentOptions } from 'http-proxy-agent';
|
|
5
|
+
import { type HttpsProxyAgentOptions } from 'https-proxy-agent';
|
|
6
|
+
type GetProxyForUrlCallback = (url: string) => string;
|
|
7
|
+
export type ProxyAgentOptions = HttpProxyAgentOptions<''> & HttpsProxyAgentOptions<''> & {
|
|
8
|
+
/**
|
|
9
|
+
* Default `http.Agent` instance to use when no proxy is
|
|
10
|
+
* configured for a request. Defaults to a new `http.Agent()`
|
|
11
|
+
* instance with the proxy agent options passed in.
|
|
12
|
+
*/
|
|
13
|
+
httpAgent?: http.Agent;
|
|
14
|
+
/**
|
|
15
|
+
* Default `http.Agent` instance to use when no proxy is
|
|
16
|
+
* configured for a request. Defaults to a new `https.Agent()`
|
|
17
|
+
* instance with the proxy agent options passed in.
|
|
18
|
+
*/
|
|
19
|
+
httpsAgent?: http.Agent;
|
|
20
|
+
/**
|
|
21
|
+
* A callback to dynamically determine the proxy to use for the given URL.
|
|
22
|
+
*/
|
|
23
|
+
getProxyForUrl?: GetProxyForUrlCallback;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* A simplified version of the original
|
|
27
|
+
* [`ProxyAgent`](https://github.com/TooTallNate/proxy-agents/blob/5923589c2e5206504772c250ac4f20fc31122d3b/packages/proxy-agent/src/index.ts)
|
|
28
|
+
* with fewer dependencies.
|
|
29
|
+
*
|
|
30
|
+
* Delegates requests to the appropriate `Agent` subclass based on the "proxy"
|
|
31
|
+
* environment variables, or the provided `agentOptions.getProxyForUrl` callback.
|
|
32
|
+
*
|
|
33
|
+
* Uses an LRU cache to prevent unnecessary creation of proxy `http.Agent` instances.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ProxyAgent extends Agent {
|
|
36
|
+
private readonly agentOptions;
|
|
37
|
+
private static proxyAgents;
|
|
38
|
+
/**
|
|
39
|
+
* Cache for `Agent` instances.
|
|
40
|
+
*/
|
|
41
|
+
private readonly cache;
|
|
42
|
+
private readonly httpAgent;
|
|
43
|
+
private readonly httpsAgent;
|
|
44
|
+
private readonly getProxyForUrl;
|
|
45
|
+
constructor(agentOptions: ProxyAgentOptions);
|
|
46
|
+
connect(request: http.ClientRequest, options: AgentConnectOpts): Promise<http.Agent>;
|
|
47
|
+
private createAgent;
|
|
48
|
+
private isValidProtocol;
|
|
49
|
+
destroy(): void;
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=ProxyAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProxyAgent.d.ts","sourceRoot":"","sources":["../../src/io/ProxyAgent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAWjF,KAAK,sBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GACzB,qBAAqB,CAAC,EAAE,CAAC,GACzB,sBAAsB,CAAC,EAAE,CAAC,GAAG;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C,CAAC;AAEN;;;;;;;;;GASG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAmBrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAjBzC,OAAO,CAAC,MAAM,CAAC,WAAW,CAGxB;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAGnB;IAEH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyB;gBAE3B,YAAY,EAAE,iBAAiB;IAO7C,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IA4BnG,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,eAAe;IAId,OAAO,IAAI,IAAI;CAI3B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ConfigurationError } from '@serenity-js/core';
|
|
2
|
+
import { Agent } from 'agent-base';
|
|
3
|
+
import * as http from 'http';
|
|
4
|
+
import { HttpProxyAgent } from 'http-proxy-agent';
|
|
5
|
+
import * as https from 'https';
|
|
6
|
+
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
7
|
+
import { LRUCache } from 'lru-cache';
|
|
8
|
+
const protocols = [
|
|
9
|
+
...HttpProxyAgent.protocols,
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* A simplified version of the original
|
|
13
|
+
* [`ProxyAgent`](https://github.com/TooTallNate/proxy-agents/blob/5923589c2e5206504772c250ac4f20fc31122d3b/packages/proxy-agent/src/index.ts)
|
|
14
|
+
* with fewer dependencies.
|
|
15
|
+
*
|
|
16
|
+
* Delegates requests to the appropriate `Agent` subclass based on the "proxy"
|
|
17
|
+
* environment variables, or the provided `agentOptions.getProxyForUrl` callback.
|
|
18
|
+
*
|
|
19
|
+
* Uses an LRU cache to prevent unnecessary creation of proxy `http.Agent` instances.
|
|
20
|
+
*/
|
|
21
|
+
export class ProxyAgent extends Agent {
|
|
22
|
+
agentOptions;
|
|
23
|
+
static proxyAgents = {
|
|
24
|
+
http: [HttpProxyAgent, HttpsProxyAgent],
|
|
25
|
+
https: [HttpProxyAgent, HttpsProxyAgent],
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Cache for `Agent` instances.
|
|
29
|
+
*/
|
|
30
|
+
cache = new LRUCache({
|
|
31
|
+
max: 20,
|
|
32
|
+
dispose: (value, key) => value.destroy(),
|
|
33
|
+
});
|
|
34
|
+
httpAgent;
|
|
35
|
+
httpsAgent;
|
|
36
|
+
getProxyForUrl;
|
|
37
|
+
constructor(agentOptions) {
|
|
38
|
+
super(agentOptions);
|
|
39
|
+
this.agentOptions = agentOptions;
|
|
40
|
+
this.httpAgent = agentOptions?.httpAgent || new http.Agent(agentOptions);
|
|
41
|
+
this.httpsAgent = agentOptions?.httpsAgent || new https.Agent(agentOptions);
|
|
42
|
+
this.getProxyForUrl = agentOptions?.getProxyForUrl;
|
|
43
|
+
}
|
|
44
|
+
async connect(request, options) {
|
|
45
|
+
const { secureEndpoint } = options;
|
|
46
|
+
const isWebSocket = request.getHeader('upgrade') === 'websocket';
|
|
47
|
+
const protocol = secureEndpoint
|
|
48
|
+
? (isWebSocket ? 'wss:' : 'https:')
|
|
49
|
+
: (isWebSocket ? 'ws:' : 'http:');
|
|
50
|
+
const host = request.getHeader('host');
|
|
51
|
+
const url = new URL(request.path, `${protocol}//${host}`).href;
|
|
52
|
+
const proxy = this.getProxyForUrl(url);
|
|
53
|
+
if (!proxy) {
|
|
54
|
+
return secureEndpoint
|
|
55
|
+
? this.httpsAgent
|
|
56
|
+
: this.httpAgent;
|
|
57
|
+
}
|
|
58
|
+
// attempt to get a cached `http.Agent` instance first
|
|
59
|
+
const cacheKey = `${protocol}+${proxy}`;
|
|
60
|
+
let agent = this.cache.get(cacheKey);
|
|
61
|
+
if (!agent) {
|
|
62
|
+
agent = this.createAgent(new URL(proxy), secureEndpoint || isWebSocket);
|
|
63
|
+
this.cache.set(cacheKey, agent);
|
|
64
|
+
}
|
|
65
|
+
return agent;
|
|
66
|
+
}
|
|
67
|
+
createAgent(proxyUrl, requiresTls) {
|
|
68
|
+
const protocol = proxyUrl.protocol.replace(':', '');
|
|
69
|
+
if (!this.isValidProtocol(protocol)) {
|
|
70
|
+
throw new ConfigurationError(`Unsupported protocol for proxy URL: ${proxyUrl}`);
|
|
71
|
+
}
|
|
72
|
+
const ctor = ProxyAgent.proxyAgents[protocol][requiresTls ? 1 : 0];
|
|
73
|
+
return new ctor(proxyUrl, this.agentOptions);
|
|
74
|
+
}
|
|
75
|
+
isValidProtocol(v) {
|
|
76
|
+
return protocols.includes(v);
|
|
77
|
+
}
|
|
78
|
+
destroy() {
|
|
79
|
+
this.cache.clear();
|
|
80
|
+
super.destroy();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=ProxyAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProxyAgent.js","sourceRoot":"","sources":["../../src/io/ProxyAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProxyBypass.d.ts","sourceRoot":"","sources":["../../src/io/ProxyBypass.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAIpC,8BAAsB,WAAW;IAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW;IAYrD,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO;CACtC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createUrl } from './createUrl.js';
|
|
2
|
+
export class ProxyBypass {
|
|
3
|
+
static create(value) {
|
|
4
|
+
if (value === undefined || value === '') {
|
|
5
|
+
return new BypassNone();
|
|
6
|
+
}
|
|
7
|
+
if (value === '*') {
|
|
8
|
+
return new BypassAll();
|
|
9
|
+
}
|
|
10
|
+
return new BypassMatching(value);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
class BypassNone extends ProxyBypass {
|
|
14
|
+
matches(url_) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
class BypassAll extends ProxyBypass {
|
|
19
|
+
matches(url_) {
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
class BypassHostnamePattern extends ProxyBypass {
|
|
24
|
+
hostname;
|
|
25
|
+
port;
|
|
26
|
+
static template = /^((?<hostname>[^:]+)(:(?<port>\d+))?)$/;
|
|
27
|
+
static defaultPorts = {
|
|
28
|
+
'ftp:': '21',
|
|
29
|
+
'gopher:': '70',
|
|
30
|
+
'http:': '80',
|
|
31
|
+
'https:': '443',
|
|
32
|
+
'ws:': '80',
|
|
33
|
+
'wss:': '443',
|
|
34
|
+
};
|
|
35
|
+
static create(patternConfig) {
|
|
36
|
+
const { hostname, port } = this.template.exec(patternConfig)?.groups || {};
|
|
37
|
+
return new BypassHostnamePattern(hostname, port);
|
|
38
|
+
}
|
|
39
|
+
constructor(hostname, port) {
|
|
40
|
+
super();
|
|
41
|
+
this.hostname = hostname;
|
|
42
|
+
this.port = port;
|
|
43
|
+
}
|
|
44
|
+
matches(url) {
|
|
45
|
+
const urlPort = url.port || BypassHostnamePattern.defaultPorts[url.protocol];
|
|
46
|
+
return url.hostname.endsWith(this.hostname)
|
|
47
|
+
&& (this.port ? urlPort === this.port : true);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
class BypassMatching extends ProxyBypass {
|
|
51
|
+
patterns;
|
|
52
|
+
constructor(value) {
|
|
53
|
+
super();
|
|
54
|
+
this.patterns = value.split(',').map(patternConfig => BypassHostnamePattern.create(patternConfig.trim()));
|
|
55
|
+
}
|
|
56
|
+
matches(url) {
|
|
57
|
+
const normalisedUrl = createUrl(url);
|
|
58
|
+
for (const pattern of this.patterns) {
|
|
59
|
+
if (pattern.matches(normalisedUrl)) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=ProxyBypass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProxyBypass.js","sourceRoot":"","sources":["../../src/io/ProxyBypass.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAgB,WAAW;IAC7B,MAAM,CAAC,MAAM,CAAC,KAAyB;QACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,IAAI,UAAU,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAChB,OAAO,IAAI,SAAS,EAAE,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CAGJ;AAED,MAAM,UAAW,SAAQ,WAAW;IAChC,OAAO,CAAC,IAAS;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAED,MAAM,SAAU,SAAQ,WAAW;IAC/B,OAAO,CAAC,IAAS;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED,MAAM,qBAAsB,SAAQ,WAAW;IAiBN;IAAmC;IAhBhE,MAAM,CAAU,QAAQ,GAAG,wCAAwC,CAAC;IACpE,MAAM,CAAC,YAAY,GAAG;QAC1B,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,KAAK;KAChB,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,aAAqB;QAC/B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;QAE3E,OAAO,IAAI,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,YAAqC,QAAgB,EAAmB,IAAwB;QAC5F,KAAK,EAAE,CAAC;QADyB,aAAQ,GAAR,QAAQ,CAAQ;QAAmB,SAAI,GAAJ,IAAI,CAAoB;IAEhG,CAAC;IAED,OAAO,CAAC,GAAQ;QACZ,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,IAAI,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE5E,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;eACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;;AAGL,MAAM,cAAe,SAAQ,WAAW;IAEnB,QAAQ,CAA0B;IAEnD,YAAY,KAAa;QACrB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,OAAO,CAAC,GAAQ;QACZ,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAErC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type AxiosInstance } from 'axios';
|
|
2
|
+
import type { AxiosRequestConfigDefaults } from './AxiosRequestConfigDefaults.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an Axios instance with desired configuration and proxy support.
|
|
5
|
+
*
|
|
6
|
+
* @param axiosInstanceOrConfig
|
|
7
|
+
*/
|
|
8
|
+
export declare function createAxios(axiosInstanceOrConfig?: AxiosInstance | AxiosRequestConfigDefaults): AxiosInstance;
|
|
9
|
+
//# sourceMappingURL=createAxios.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAxios.d.ts","sourceRoot":"","sources":["../../src/io/createAxios.ts"],"names":[],"mappings":"AACA,OAAc,EAAS,KAAK,aAAa,EAA2B,MAAM,OAAO,CAAC;AAElF,OAAO,KAAK,EAAE,0BAA0B,EAAmC,MAAM,iCAAiC,CAAC;AAGnH;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,qBAAqB,GAAE,aAAa,GAAG,0BAA+B,GAAG,aAAa,CAoBjH"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Duration } from '@serenity-js/core';
|
|
2
|
+
import axios, { Axios } from 'axios';
|
|
3
|
+
import { axiosProxyOverridesFor } from './proxy.js';
|
|
4
|
+
/**
|
|
5
|
+
* Creates an Axios instance with desired configuration and proxy support.
|
|
6
|
+
*
|
|
7
|
+
* @param axiosInstanceOrConfig
|
|
8
|
+
*/
|
|
9
|
+
export function createAxios(axiosInstanceOrConfig = {}) {
|
|
10
|
+
const axiosInstanceGiven = isAxiosInstance(axiosInstanceOrConfig);
|
|
11
|
+
const axiosInstance = axiosInstanceGiven
|
|
12
|
+
? axiosInstanceOrConfig
|
|
13
|
+
: axios.create({
|
|
14
|
+
timeout: Duration.ofSeconds(10).inMilliseconds(),
|
|
15
|
+
...omit(axiosInstanceOrConfig, 'proxy'),
|
|
16
|
+
});
|
|
17
|
+
const proxyConfig = axiosInstanceGiven
|
|
18
|
+
? axiosInstanceOrConfig.defaults.proxy
|
|
19
|
+
: axiosInstanceOrConfig.proxy;
|
|
20
|
+
const proxyOverrides = axiosProxyOverridesFor({
|
|
21
|
+
...axiosInstance.defaults,
|
|
22
|
+
proxy: proxyConfig || undefined,
|
|
23
|
+
});
|
|
24
|
+
return withOverrides(axiosInstance, proxyOverrides);
|
|
25
|
+
}
|
|
26
|
+
function isAxiosInstance(axiosInstanceOrConfig) {
|
|
27
|
+
return axiosInstanceOrConfig
|
|
28
|
+
&& (axiosInstanceOrConfig instanceof Axios || axiosInstanceOrConfig.defaults);
|
|
29
|
+
}
|
|
30
|
+
function withOverrides(axiosInstance, overrides) {
|
|
31
|
+
for (const [key, override] of Object.entries(overrides)) {
|
|
32
|
+
axiosInstance.defaults[key] = override;
|
|
33
|
+
}
|
|
34
|
+
return axiosInstance;
|
|
35
|
+
}
|
|
36
|
+
function omit(record, key) {
|
|
37
|
+
const { [key]: omitted_, ...rest } = record;
|
|
38
|
+
return rest;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=createAxios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAxios.js","sourceRoot":"","sources":["../../src/io/createAxios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,KAAK,EAA+C,MAAM,OAAO,CAAC;AAGlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,wBAAoE,EAAE;IAC9F,MAAM,kBAAkB,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAElE,MAAM,aAAa,GAAG,kBAAkB;QACpC,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACX,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE;YAChD,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC;SAC1C,CAAC,CAAC;IAEP,MAAM,WAAW,GAAwD,kBAAkB;QACvF,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK;QACtC,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAElC,MAAM,cAAc,GAAG,sBAAsB,CAAC;QAC1C,GAAG,aAAa,CAAC,QAAQ;QACzB,KAAK,EAAE,WAAW,IAAI,SAAS;KAClC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CAAC,qBAA0B;IAC/C,OAAO,qBAAqB;WACrB,CAAC,qBAAqB,YAAY,KAAK,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,aAAa,CAAa,aAA4B,EAAE,SAAmC;IAChG,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACtD,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,IAAI,CAAsC,MAAS,EAAE,GAAM;IAChE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;IAC5C,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUrl.d.ts","sourceRoot":"","sources":["../../src/io/createUrl.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,GAAG,CAYxD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ensure, isDefined, isNotBlank, isString } from 'tiny-types';
|
|
2
|
+
export function createUrl(options) {
|
|
3
|
+
const hostname = ensure('hostname', options?.hostname, isString(), isNotBlank()).trim();
|
|
4
|
+
const port = options?.port
|
|
5
|
+
? ':' + options?.port
|
|
6
|
+
: (options?.protocol ? undefined : ':80');
|
|
7
|
+
return new URL([
|
|
8
|
+
options?.protocol ? protocolFrom(options?.protocol) : 'http://',
|
|
9
|
+
(options?.username || options?.password) && credentialsFrom(options.username, options.password),
|
|
10
|
+
hostname,
|
|
11
|
+
port,
|
|
12
|
+
].filter(Boolean).join(''));
|
|
13
|
+
}
|
|
14
|
+
function protocolFrom(protocol) {
|
|
15
|
+
const protocolName = protocol.match(/([A-Za-z]+)[/:]*/)[1];
|
|
16
|
+
ensure('hostname', protocolName, isDefined());
|
|
17
|
+
return protocolName + '://';
|
|
18
|
+
}
|
|
19
|
+
function credentialsFrom(username, password) {
|
|
20
|
+
return [
|
|
21
|
+
username && encodeURIComponent(username),
|
|
22
|
+
password && ':' + encodeURIComponent(password),
|
|
23
|
+
'@'
|
|
24
|
+
].filter(Boolean).join('');
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=createUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createUrl.js","sourceRoot":"","sources":["../../src/io/createUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAUrE,MAAM,UAAU,SAAS,CAAC,OAAyB;IAC/C,MAAM,QAAQ,GAAI,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACzF,MAAM,IAAI,GAAQ,OAAO,EAAE,IAAI;QAC3B,CAAC,CAAC,GAAG,GAAG,OAAO,EAAE,IAAI;QACrB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,IAAI,GAAG,CAAC;QACX,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,QAAQ,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;QAC/F,QAAQ;QACR,IAAI;KACP,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,YAAY,CAAC,QAAiB;IACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9C,OAAO,YAAY,GAAG,KAAK,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,QAAiB,EAAE,QAAiB;IACzD,OAAO;QACH,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC;QACxC,QAAQ,IAAI,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC;QAC9C,GAAG;KACN,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC"}
|
package/esm/io/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/io/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type * as http from 'node:http';
|
|
2
|
+
import type { AxiosRequestConfigDefaults, AxiosRequestConfigProxyDefaults } from './AxiosRequestConfigDefaults.js';
|
|
3
|
+
import { EnvironmentVariables } from './EnvironmentVariables.js';
|
|
4
|
+
/**
|
|
5
|
+
* @param options
|
|
6
|
+
*/
|
|
7
|
+
export declare function axiosProxyOverridesFor<Data = any>(options: AxiosRequestConfigDefaults<Data>): {
|
|
8
|
+
proxy: false;
|
|
9
|
+
httpAgent: http.Agent;
|
|
10
|
+
httpsAgent: http.Agent;
|
|
11
|
+
};
|
|
12
|
+
export declare function createGetProxyForUrlFromConfig(proxyOptions: AxiosRequestConfigProxyDefaults): (url: string) => string | undefined;
|
|
13
|
+
export declare function createGetProxyForUrlFromEnvironmentVariables(env: EnvironmentVariables): (url: string) => string | undefined;
|
|
14
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../src/io/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAC;AAKvC,OAAO,KAAK,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAEnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,0BAA0B,CAAC,IAAI,CAAC,GAAG;IAC3F,KAAK,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;IAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAA;CAC9D,CAiBA;AAED,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,+BAA+B,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAYjI;AAED,wBAAgB,4CAA4C,CAAC,GAAG,EAAE,oBAAoB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAiB3H"}
|
package/esm/io/proxy.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as process from 'node:process';
|
|
2
|
+
import { ensure, isDefined } from 'tiny-types';
|
|
3
|
+
import { createUrl } from './createUrl.js';
|
|
4
|
+
import { EnvironmentVariables } from './EnvironmentVariables.js';
|
|
5
|
+
import { ProxyAgent } from './ProxyAgent.js';
|
|
6
|
+
import { ProxyBypass } from './ProxyBypass.js';
|
|
7
|
+
/**
|
|
8
|
+
* @param options
|
|
9
|
+
*/
|
|
10
|
+
export function axiosProxyOverridesFor(options) {
|
|
11
|
+
const agent = new ProxyAgent({
|
|
12
|
+
httpAgent: options.httpAgent,
|
|
13
|
+
httpsAgent: options.httpsAgent,
|
|
14
|
+
// if there's a specific proxy override configured, use it
|
|
15
|
+
// if not - detect proxy automatically based on the env variables
|
|
16
|
+
getProxyForUrl: options.proxy
|
|
17
|
+
? createGetProxyForUrlFromConfig(options.proxy)
|
|
18
|
+
: createGetProxyForUrlFromEnvironmentVariables(new EnvironmentVariables(process.env)),
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
proxy: false,
|
|
22
|
+
httpAgent: agent,
|
|
23
|
+
httpsAgent: agent,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function createGetProxyForUrlFromConfig(proxyOptions) {
|
|
27
|
+
const proxyBypass = ProxyBypass.create(proxyOptions?.bypass);
|
|
28
|
+
return createGetProxyForUrl(proxyBypass, (url) => {
|
|
29
|
+
return createUrl({
|
|
30
|
+
username: proxyOptions.auth?.username,
|
|
31
|
+
password: proxyOptions.auth?.password,
|
|
32
|
+
protocol: proxyOptions.protocol,
|
|
33
|
+
hostname: ensure('proxy.host', proxyOptions?.host, isDefined()),
|
|
34
|
+
port: proxyOptions.port ? Number(proxyOptions.port) : undefined,
|
|
35
|
+
}).toString();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export function createGetProxyForUrlFromEnvironmentVariables(env) {
|
|
39
|
+
const proxyBypass = ProxyBypass.create(env.findFirst('npm_config_no_proxy', 'no_proxy'));
|
|
40
|
+
return createGetProxyForUrl(proxyBypass, (url) => {
|
|
41
|
+
const protocolName = url.protocol.replace(/:$/, '');
|
|
42
|
+
const proxyUrl = env.findFirst(`npm_config_${protocolName}_proxy`, `${protocolName}_proxy`, 'npm_config_proxy', 'all_proxy');
|
|
43
|
+
return proxyUrl || undefined;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function createGetProxyForUrl(bypass, getProxy) {
|
|
47
|
+
return function getProxyForUrl(urlValue) {
|
|
48
|
+
if (!isValidUrl(urlValue)) {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
const url = new URL(urlValue);
|
|
52
|
+
return bypass.matches(url)
|
|
53
|
+
? undefined
|
|
54
|
+
: getProxy(url);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function isValidUrl(url) {
|
|
58
|
+
try {
|
|
59
|
+
new URL(url);
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/io/proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type CreateAxiosDefaults } from 'axios';
|
|
2
|
+
export type AxiosRequestConfigProxyDefaults = {
|
|
3
|
+
host: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
auth?: {
|
|
6
|
+
username: string;
|
|
7
|
+
password: string;
|
|
8
|
+
};
|
|
9
|
+
protocol?: string;
|
|
10
|
+
};
|
|
11
|
+
export type AxiosRequestConfigDefaults<Data = any> = Omit<CreateAxiosDefaults<Data>, 'proxy'> & {
|
|
12
|
+
proxy?: AxiosRequestConfigProxyDefaults | false;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=AxiosRequestConfigDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxiosRequestConfigDefaults.d.ts","sourceRoot":"","sources":["../../../src/screenplay/abilities/AxiosRequestConfigDefaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAEjD,MAAM,MAAM,+BAA+B,GAAG;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,0BAA0B,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5F,KAAK,CAAC,EAAE,+BAA+B,GAAG,KAAK,CAAC;CACnD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AxiosRequestConfigDefaults.js","sourceRoot":"","sources":["../../../src/screenplay/abilities/AxiosRequestConfigDefaults.ts"],"names":[],"mappings":""}
|