pub struct DecisionEngine { /* private fields */ }Expand description
DecisionEngine
Satu-satunya komponen yang BERHAK menentukan keputusan security.
Alur: RequestContext -> Inspectors -> Decision -> Logging -> Server
Implementations§
Source§impl DecisionEngine
impl DecisionEngine
Sourcepub fn add<I>(&mut self, inspector: I)where
I: Inspector + 'static,
pub fn add<I>(&mut self, inspector: I)where
I: Inspector + 'static,
Menambahkan inspector ke pipeline decision.
Sourcepub fn decide(&self, ctx: &RequestContext) -> BulwarkResult<Decision>
pub fn decide(&self, ctx: &RequestContext) -> BulwarkResult<Decision>
Menjalankan seluruh inspector dan menghasilkan keputusan final.
Prioritas keputusan: BLOCK > LOG > ALLOW
⚠️ Catatan API:
- Jika keputusan akhir adalah
Decision::Block, fungsi ini akan mengembalikanErr(BulwarkError::Blocked). - Isi pesan error TIDAK dijamin stabil dan bukan bagian dari API.
Trait Implementations§
Source§impl Default for DecisionEngine
Tingkat keparahan temuan inspector.
impl Default for DecisionEngine
Tingkat keparahan temuan inspector.
§Kontrak API (STABLE sejak v0.3.0)
-
HighTemuan berbahaya yang WAJIB memblokir request. -
MediumTemuan mencurigakan namun tidak fatal. Request tidak diblokir, tetapi WAJIB dilog. -
LowSinyal ringan atau informasi. Tidak mempengaruhi keputusan akhir.
Auto Trait Implementations§
impl Freeze for DecisionEngine
impl !RefUnwindSafe for DecisionEngine
impl Send for DecisionEngine
impl Sync for DecisionEngine
impl Unpin for DecisionEngine
impl !UnwindSafe for DecisionEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more