Skip to content

Commit 7b32a62

Browse files
committed
Deprecate trustAdditionalCAs in favour of additionalTrustedCAs
This makes the passthrough options consistent with the proxy config options, and more consistent with option naming elsewhere.
1 parent e143578 commit 7b32a62

File tree

6 files changed

+25
-9
lines changed

6 files changed

+25
-9
lines changed

src/rules/passthrough-handling-definitions.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ export interface PassThroughHandlerConnectionOptions {
6666
* or buffer value containing the PEM certificate, or a `certPath` key and a
6767
* string value containing the local path to the PEM certificate.
6868
*/
69+
additionalTrustedCAs?: Array<CADefinition>;
70+
71+
/**
72+
* Deprecated alias for `additionalTrustedCAs`
73+
*
74+
* @deprecated
75+
*/
6976
trustAdditionalCAs?: Array<CADefinition>;
7077

7178
/**

src/rules/passthrough-handling.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ export async function getTrustedCAs(
103103
trustedCAs: Array<string | CADefinition> | undefined,
104104
additionalTrustedCAs: Array<CADefinition> | undefined
105105
): Promise<Array<string> | undefined> {
106-
if (trustedCAs && additionalTrustedCAs) {
106+
if (trustedCAs && additionalTrustedCAs?.length) {
107107
throw new Error(`trustedCAs and additionalTrustedCAs options are mutually exclusive`);
108108
}
109109

src/rules/requests/request-handler-definitions.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import {
3434
} from '../../serialization/body-serialization';
3535
import { ProxyConfig } from '../proxy-config';
3636
import {
37+
CADefinition,
3738
ForwardingOptions,
3839
PassThroughHandlerConnectionOptions,
3940
PassThroughLookupOptions
@@ -771,7 +772,7 @@ export class PassThroughHandlerDefinition extends Serializable implements Reques
771772
[host: string]: { pfx: Buffer, passphrase?: string }
772773
};
773774

774-
public readonly extraCACertificates: Array<{ cert: string | Buffer } | { certPath: string }> = [];
775+
public readonly extraCACertificates: Array<CADefinition> = [];
775776

776777
public readonly transformRequest?: RequestTransform;
777778
public readonly transformResponse?: ResponseTransform;
@@ -820,7 +821,11 @@ export class PassThroughHandlerDefinition extends Serializable implements Reques
820821
this.proxyConfig = options.proxyConfig;
821822
this.simulateConnectionErrors = !!options.simulateConnectionErrors;
822823

823-
this.extraCACertificates = options.trustAdditionalCAs || [];
824+
this.extraCACertificates =
825+
options.additionalTrustedCAs ||
826+
options.trustAdditionalCAs ||
827+
[];
828+
824829
this.clientCertificateHostMap = options.clientCertificateHostMap || {};
825830

826831
if (options.beforeRequest && options.transformRequest && !_.isEmpty(options.transformRequest)) {

src/rules/requests/request-handlers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1271,7 +1271,7 @@ export class PassThroughHandler extends PassThroughHandlerDefinition {
12711271
lookupOptions: data.lookupOptions,
12721272
simulateConnectionErrors: !!data.simulateConnectionErrors,
12731273
ignoreHostHttpsErrors: data.ignoreHostCertificateErrors,
1274-
trustAdditionalCAs: data.extraCACertificates,
1274+
additionalTrustedCAs: data.extraCACertificates,
12751275
clientCertificateHostMap: _.mapValues(data.clientCertificateHostMap,
12761276
({ pfx, passphrase }) => ({ pfx: deserializeBuffer(pfx), passphrase })
12771277
),

src/rules/websockets/websocket-handler-definitions.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import { ProxyConfig } from '../proxy-config';
1616
import {
1717
PassThroughHandlerConnectionOptions,
1818
ForwardingOptions,
19-
PassThroughLookupOptions
19+
PassThroughLookupOptions,
20+
CADefinition
2021
} from '../passthrough-handling-definitions';
2122
import {
2223
CloseConnectionHandlerDefinition,
@@ -69,7 +70,7 @@ export class PassThroughWebSocketHandlerDefinition extends Serializable implemen
6970
[host: string]: { pfx: Buffer, passphrase?: string }
7071
};
7172

72-
public readonly extraCACertificates: Array<{ cert: string | Buffer } | { certPath: string }> = [];
73+
public readonly extraCACertificates: Array<CADefinition> = [];
7374

7475
constructor(options: PassThroughWebSocketHandlerOptions = {}) {
7576
super();
@@ -98,7 +99,10 @@ export class PassThroughWebSocketHandlerDefinition extends Serializable implemen
9899
this.lookupOptions = options.lookupOptions;
99100
this.proxyConfig = options.proxyConfig;
100101

101-
this.extraCACertificates = options.trustAdditionalCAs || [];
102+
this.extraCACertificates =
103+
options.additionalTrustedCAs ||
104+
options.trustAdditionalCAs ||
105+
[];
102106
this.clientCertificateHostMap = options.clientCertificateHostMap || {};
103107
}
104108

test/integration/proxying/https-proxying.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ nodeOnly(() => {
222222
await badServer.forAnyRequest().thenReply(200);
223223

224224
await server.forAnyRequest().thenPassThrough({
225-
trustAdditionalCAs: [{ cert }]
225+
additionalTrustedCAs: [{ cert }]
226226
});
227227

228228
let response = await request.get(badServer.url, {
@@ -237,7 +237,7 @@ nodeOnly(() => {
237237
await badServer.forAnyRequest().thenReply(200);
238238

239239
await server.forAnyRequest().thenPassThrough({
240-
trustAdditionalCAs: [{ certPath }]
240+
additionalTrustedCAs: [{ certPath }]
241241
});
242242

243243
let response = await request.get(badServer.url, {

0 commit comments

Comments
 (0)