pub struct ResponseBuffer<'buffer, 'sanitizer, S: ResponseStorageSanitizer + ?Sized> { /* private fields */ }Expand description
Cleanup-owning admission guard around one sealed ResponseWriter.
The complete original storage is sanitized before admission and again when this guard is dropped, including bytes outside the admitted prefix.
Implementations§
Source§impl<'buffer, 'sanitizer, S> ResponseBuffer<'buffer, 'sanitizer, S>where
S: ResponseStorageSanitizer + ?Sized,
impl<'buffer, 'sanitizer, S> ResponseBuffer<'buffer, 'sanitizer, S>where
S: ResponseStorageSanitizer + ?Sized,
Sourcepub fn new(
storage: &'buffer mut [u8],
max_body_bytes: usize,
sanitizer: &'sanitizer S,
) -> Self
pub fn new( storage: &'buffer mut [u8], max_body_bytes: usize, sanitizer: &'sanitizer S, ) -> Self
Admits at most max_body_bytes from caller storage and clears all
supplied storage before transport use.
Sourcepub const fn writer(&mut self) -> &mut ResponseWriter<'buffer>
pub const fn writer(&mut self) -> &mut ResponseWriter<'buffer>
Returns exclusive transport access to the admitted response prefix.
Sourcepub fn with_response<R>(
&self,
inspect: impl for<'response> FnOnce(TransportResponse<'response>) -> R,
) -> Result<R, ResponseWriterError>
pub fn with_response<R>( &self, inspect: impl for<'response> FnOnce(TransportResponse<'response>) -> R, ) -> Result<R, ResponseWriterError>
Inspects a committed response without allowing its body borrow to escape the closure.
Trait Implementations§
Source§impl<S> Debug for ResponseBuffer<'_, '_, S>where
S: ResponseStorageSanitizer + ?Sized,
impl<S> Debug for ResponseBuffer<'_, '_, S>where
S: ResponseStorageSanitizer + ?Sized,
Source§impl<S> Drop for ResponseBuffer<'_, '_, S>where
S: ResponseStorageSanitizer + ?Sized,
impl<S> Drop for ResponseBuffer<'_, '_, S>where
S: ResponseStorageSanitizer + ?Sized,
Auto Trait Implementations§
impl<'buffer, 'sanitizer, S> !UnwindSafe for ResponseBuffer<'buffer, 'sanitizer, S>
impl<'buffer, 'sanitizer, S> Freeze for ResponseBuffer<'buffer, 'sanitizer, S>where
S: ?Sized,
impl<'buffer, 'sanitizer, S> RefUnwindSafe for ResponseBuffer<'buffer, 'sanitizer, S>where
S: RefUnwindSafe + ?Sized,
impl<'buffer, 'sanitizer, S> Send for ResponseBuffer<'buffer, 'sanitizer, S>
impl<'buffer, 'sanitizer, S> Sync for ResponseBuffer<'buffer, 'sanitizer, S>
impl<'buffer, 'sanitizer, S> Unpin for ResponseBuffer<'buffer, 'sanitizer, S>where
S: ?Sized,
impl<'buffer, 'sanitizer, S> UnsafeUnpin for ResponseBuffer<'buffer, 'sanitizer, S>where
S: ?Sized,
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