apimock_routing/rule_set/rule/
when.rs1use serde::Deserialize;
2
3mod condition_statement;
4pub mod request;
5
6use crate::parsed_request::ParsedRequest;
7use request::Request;
8
9#[derive(Clone, Deserialize, Debug)]
10pub struct When {
11 pub request: Request,
12}
13
14impl When {
15 pub fn is_match(
17 &self,
18 parsed_request: &ParsedRequest,
19 rule_idx: usize,
20 rule_set_idx: usize,
21 ) -> bool {
22 self.request
23 .is_match(parsed_request, rule_idx, rule_set_idx)
24 }
25
26 pub fn validate(&self, rule_idx: usize, rule_set_idx: usize) -> bool {
28 self.request.validate(rule_idx, rule_set_idx)
29 }
30}
31
32impl std::fmt::Display for When {
33 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
34 let _ = write!(f, "{}", self.request);
35 Ok(())
36 }
37}