Skip to content

Commit 5cc2571

Browse files
committed
Fix forwarding rule internal API backward compat
This was previously broken if you used a previously valid input with a protocol (protocols & hosts are now split into different options)
1 parent 49a22cc commit 5cc2571

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/rules/requests/request-step-impls.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1252,8 +1252,13 @@ export class PassThroughStepImpl extends PassThroughStep {
12521252

12531253
// Backward compat for old clients:
12541254
if (data.forwarding && !data.transformRequest?.replaceHost) {
1255+
const [targetHost, setProtocol] = data.forwarding.targetHost.split('://').reverse();
12551256
data.transformRequest ??= {};
1256-
data.transformRequest.replaceHost = data.forwarding;
1257+
data.transformRequest.replaceHost = {
1258+
targetHost,
1259+
updateHostHeader: data.forwarding.updateHostHeader ?? true
1260+
};
1261+
data.transformRequest.setProtocol = setProtocol as 'http' | 'https' | undefined;
12571262
}
12581263

12591264
return new PassThroughStep({

src/rules/websockets/websocket-step-impls.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,13 @@ export class PassThroughWebSocketStepImpl extends PassThroughWebSocketStep {
450450
): any {
451451
// Backward compat for old clients:
452452
if (data.forwarding && !data.transformRequest?.replaceHost) {
453+
const [targetHost, setProtocol] = data.forwarding.targetHost.split('://').reverse();
453454
data.transformRequest ??= {};
454-
data.transformRequest.replaceHost = data.forwarding;
455+
data.transformRequest.replaceHost = {
456+
targetHost,
457+
updateHostHeader: data.forwarding.updateHostHeader ?? true
458+
};
459+
data.transformRequest.setProtocol = setProtocol as 'ws' | 'wss' | undefined;
455460
}
456461

457462
return _.create(this.prototype, {

0 commit comments

Comments
 (0)