Skip to main content

a3s_boot/pipeline/
context.rs

1use crate::{BootRequest, HttpMethod};
2
3/// Request context visible to guards, interceptors, pipes, and filters.
4#[derive(Debug, Clone)]
5pub struct ExecutionContext {
6    pub method: HttpMethod,
7    pub request_path: String,
8    pub route_path: String,
9    pub module_name: Option<String>,
10    pub controller_prefix: Option<String>,
11    pub request: BootRequest,
12}
13
14impl ExecutionContext {
15    pub(crate) fn new(
16        request: BootRequest,
17        route_path: String,
18        module_name: Option<String>,
19        controller_prefix: Option<String>,
20    ) -> Self {
21        Self {
22            method: request.method,
23            request_path: request.path.clone(),
24            route_path,
25            module_name,
26            controller_prefix,
27            request,
28        }
29    }
30}