Skip to content

Commit 74aa27c

Browse files
committed
Limit advanced WebSocket handlers to servers that support them
Older servers (back to v1.1.3 I think) do support WebSocket rules, but only for passthrough/close/timeout. Still useful, but not so much. We're not worrying about older versions here - the stats suggest that's far less than 0.1% of users, and nothing will break for those users, it's just that their WebSocket rules won't be set (by the rules store check) so any rules there will be ignored.
1 parent 9f9dd69 commit 74aa27c

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/model/rules/rules.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import {
44
BODY_MATCHING_RANGE,
55
HOST_MATCHER_SERVER_RANGE,
66
FROM_FILE_HANDLER_SERVER_RANGE,
7-
PASSTHROUGH_TRANSFORMS_RANGE
7+
PASSTHROUGH_TRANSFORMS_RANGE,
8+
WEBSOCKET_MESSAGING_RULES_SUPPORTED
89
} from '../../services/service-versions';
910

1011
import {
@@ -55,7 +56,10 @@ const PartVersionRequirements: {
5556

5657
// Handlers:
5758
'file': FROM_FILE_HANDLER_SERVER_RANGE,
58-
'req-res-transformer': PASSTHROUGH_TRANSFORMS_RANGE
59+
'req-res-transformer': PASSTHROUGH_TRANSFORMS_RANGE,
60+
'ws-echo': WEBSOCKET_MESSAGING_RULES_SUPPORTED,
61+
'ws-listen': WEBSOCKET_MESSAGING_RULES_SUPPORTED,
62+
'ws-reject': WEBSOCKET_MESSAGING_RULES_SUPPORTED
5963
};
6064

6165
/// --- Matchers ---

src/services/service-versions.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,4 +64,5 @@ export const DNS_AND_RULE_PARAM_CONFIG_RANGE = '^1.5.0';
6464
export const DOCKER_INTERCEPTION_RANGE = '^1.5.0';
6565
export const CUSTOM_CA_TRUST_RANGE = '^1.7.0';
6666
export const MULTIPLE_EXISTING_TERMINAL_RANGE = '^1.8.0';
67-
export const RAW_BODY_SUPPORTED = '^1.9.0';
67+
export const RAW_BODY_SUPPORTED = '^1.9.0';
68+
export const WEBSOCKET_MESSAGING_RULES_SUPPORTED = '^1.9.0';

0 commit comments

Comments
 (0)