@@ -456,15 +456,20 @@ impl Action {
456
456
action
457
457
}
458
458
459
- // pub fn get_final_status_code_with_fallback(&mut self, response_status_code: u16, fallback_status_code: u16, unit_trace: Option<&mut UnitTrace>) -> (u16, u16) {
460
- // let action_status_code = self.get_status_code(response_status_code, Some(&mut unit_trace.unwrap()));
461
- // if response_status_code == 0 && action_status_code == 0 {
462
- // let final_status_code = self.get_status_code(fallback_status_code, Some(&mut unit_trace.unwrap()));
463
- // (final_status_code, fallback_status_code)
464
- // } else {
465
- // (action_status_code, response_status_code)
466
- // }
467
- // }
459
+ pub fn get_final_status_code_with_fallback (
460
+ & mut self ,
461
+ response_status_code : u16 ,
462
+ fallback_status_code : u16 ,
463
+ unit_trace : & mut UnitTrace ,
464
+ ) -> ( u16 , u16 ) {
465
+ let action_status_code = self . get_status_code ( response_status_code, Some ( unit_trace) ) ;
466
+ if response_status_code == 0 && action_status_code == 0 {
467
+ let final_status_code = self . get_status_code ( fallback_status_code, Some ( unit_trace) ) ;
468
+ ( final_status_code, fallback_status_code)
469
+ } else {
470
+ ( action_status_code, response_status_code)
471
+ }
472
+ }
468
473
469
474
pub fn get_status_code ( & mut self , response_status_code : u16 , unit_trace : Option < & mut UnitTrace > ) -> u16 {
470
475
match self . status_code_update . as_ref ( ) {
@@ -508,7 +513,7 @@ impl Action {
508
513
continue ;
509
514
}
510
515
511
- if !trace. exclude_response_status_codes && trace. on_response_status_codes . iter ( ) . any ( |v| * v != response_status_code) {
516
+ if !trace. exclude_response_status_codes && trace. on_response_status_codes . contains ( & response_status_code) {
512
517
self . apply_rule_id ( Some ( trace. id ) ) ;
513
518
continue ;
514
519
}
@@ -521,7 +526,7 @@ impl Action {
521
526
522
527
for filter in self . header_filters . clone ( ) {
523
528
if !filter. on_response_status_codes . is_empty ( ) {
524
- if !filter. exclude_response_status_codes && filter. on_response_status_codes . iter ( ) . all ( |v| * v != response_status_code) {
529
+ if !filter. exclude_response_status_codes && ! filter. on_response_status_codes . contains ( & response_status_code) {
525
530
continue ;
526
531
}
527
532
@@ -560,7 +565,7 @@ impl Action {
560
565
561
566
for filter in self . body_filters . clone ( ) {
562
567
if !filter. on_response_status_codes . is_empty ( ) {
563
- if !filter. exclude_response_status_codes && filter. on_response_status_codes . iter ( ) . all ( |v| * v != response_status_code) {
568
+ if !filter. exclude_response_status_codes && ! filter. on_response_status_codes . contains ( & response_status_code) {
564
569
continue ;
565
570
}
566
571
0 commit comments