cardinal_proxy/
req.rs

1use crate::retry::RetryState;
2use cardinal_plugins::request_context::{RequestContext, RequestContextBase};
3
4pub struct ReqCtx {
5    pub ctx_base: RequestContextBase,
6    pub retry_state: Option<RetryState>,
7}
8
9impl ReqCtx {
10    pub fn req_unsafe(&self) -> &RequestContext {
11        self.ctx_base.req_unsafe()
12    }
13
14    pub fn req_unsafe_mut(&mut self) -> &mut RequestContext {
15        self.ctx_base.req_unsafe_mut()
16    }
17
18    pub fn set_resolved_request(&mut self, resolved_request: RequestContext) {
19        self.ctx_base.set_resolved_request(resolved_request);
20    }
21
22    pub fn set(&mut self, key: &str, value: &str) {
23        self.ctx_base.set(key, value);
24    }
25}
26
27impl Default for ReqCtx {
28    fn default() -> Self {
29        Self {
30            ctx_base: RequestContextBase::default(),
31            retry_state: None,
32        }
33    }
34}