@@ -12,27 +12,23 @@ import {
1212} from '../../services/service-versions' ;
1313
1414import {
15- StaticResponseStep ,
16- ForwardToHostStep ,
17- TimeoutStep ,
18- CloseConnectionStep ,
19- ResetConnectionStep ,
20- FromFileResponseStep ,
21- TransformingStep ,
2215 HttpMatcherLookup ,
2316 HttpStepLookup ,
2417 HttpRule ,
25- HttpInitialMatcherClasses
18+ HttpInitialMatcherClasses ,
19+ RequestBreakpointStep ,
20+ ResponseBreakpointStep ,
21+ RequestAndResponseBreakpointStep ,
22+ PassThroughStep
2623} from './definitions/http-rule-definitions' ;
2724
2825import {
2926 WebSocketMatcherLookup ,
3027 WebSocketStepLookup ,
3128 WebSocketRule ,
3229 WebSocketInitialMatcherClasses ,
33- EchoWebSocketStep ,
34- RejectWebSocketStep ,
35- ListenWebSocketStep
30+ WebSocketForwardToHostStep ,
31+ WebSocketPassThroughStep
3632} from './definitions/websocket-rule-definitions' ;
3733
3834import {
@@ -385,33 +381,32 @@ export const isFinalStep = (step: Step) => {
385381 return StepLookup [ step . type ] . isFinal === true ;
386382}
387383
388- const PaidStepClasses : StepClass [ ] = [
389- StaticResponseStep ,
390- FromFileResponseStep ,
391- ForwardToHostStep ,
392- TransformingStep ,
393- TimeoutStep ,
394- CloseConnectionStep ,
395- ResetConnectionStep ,
396- EchoWebSocketStep ,
397- RejectWebSocketStep ,
398- ListenWebSocketStep
384+ const NonPaidStepClasses : StepClass [ ] = [
385+ // HTTP:
386+ RequestBreakpointStep ,
387+ ResponseBreakpointStep ,
388+ RequestAndResponseBreakpointStep ,
389+ PassThroughStep ,
390+ // WS:
391+ WebSocketPassThroughStep ,
392+ WebSocketForwardToHostStep ,
393+ // All non-HTTP/WS are free
399394] ;
400395
401396export const isPaidStep = (
402397 ruleType : RuleType ,
403398 step : Step
404399) => {
405400 if ( ruleType !== 'http' && ruleType !== 'websocket' ) return false ;
406- return _ . some ( PaidStepClasses , ( cls ) => step instanceof cls ) ;
401+ return ! _ . some ( NonPaidStepClasses , ( cls ) => step instanceof cls ) ;
407402}
408403
409404export const isPaidStepClass = (
410405 ruleType : RuleType ,
411406 stepClass : StepClass
412407) => {
413408 if ( ruleType !== 'http' && ruleType !== 'websocket' ) return false ;
414- return PaidStepClasses . includes ( stepClass ) ;
409+ return ! NonPaidStepClasses . includes ( stepClass ) ;
415410}
416411
417412/// --- Rules ---
0 commit comments