pub struct ParserState { /* private fields */ }Expand description
Parser state tracker for enforcing security limits
Implementations§
Source§impl ParserState
impl ParserState
pub fn new(limits: ParserLimits) -> Self
pub fn with_defaults() -> Self
pub fn limits(&self) -> &ParserLimits
Sourcepub fn enter_depth(&mut self) -> Result<(), SecurityError>
pub fn enter_depth(&mut self) -> Result<(), SecurityError>
Enter a nested context (function, block, etc.)
Sourcepub fn exit_depth(&mut self)
pub fn exit_depth(&mut self)
Exit a nested context
Sourcepub fn record_statement(&mut self) -> Result<(), SecurityError>
pub fn record_statement(&mut self) -> Result<(), SecurityError>
Record a statement parsed
Sourcepub fn record_iteration(&mut self) -> Result<(), SecurityError>
pub fn record_iteration(&mut self) -> Result<(), SecurityError>
Record a loop iteration
Sourcepub fn reset_iterations(&mut self)
pub fn reset_iterations(&mut self)
Reset iteration counter (call at start of each loop)
Sourcepub fn check_collection_size(&self, size: usize) -> Result<(), SecurityError>
pub fn check_collection_size(&self, size: usize) -> Result<(), SecurityError>
Check collection size
Sourcepub fn check_string_length(&self, len: usize) -> Result<(), SecurityError>
pub fn check_string_length(&self, len: usize) -> Result<(), SecurityError>
Check string length
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ParserState
impl RefUnwindSafe for ParserState
impl Send for ParserState
impl Sync for ParserState
impl Unpin for ParserState
impl UnwindSafe for ParserState
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