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}