bulwark_security/security/
inspector.rs1use crate::request::context::RequestContext;
2use crate::security::FindingSeverity;
3use crate::BulwarkError;
4
5#[derive(Debug, Clone)]
10pub struct InspectorFinding {
11 pub inspector: &'static str,
13
14 pub severity: FindingSeverity,
16
17 pub reason: String,
19}
20
21impl InspectorFinding {
22 pub fn new(
24 inspector: &'static str,
25 severity: FindingSeverity,
26 reason: impl Into<String>,
27 ) -> Self {
28 Self {
29 inspector,
30 severity,
31 reason: reason.into(),
32 }
33 }
34}
35
36pub trait Inspector: Send + Sync {
43 fn inspect(&self, ctx: &RequestContext) -> Result<Option<InspectorFinding>, BulwarkError>;
44}