pub struct CheckedResponseGuard<'buffer, 'sanitizer, S: ResponseStorageSanitizer + ?Sized> { /* private fields */ }Expand description
Policy-checked response that owns cleanup of its caller storage.
Borrowed access is closure-scoped. Self::decode_owned clears the
complete response storage before returning the owned decoded result.
Implementations§
Source§impl<S> CheckedResponseGuard<'_, '_, S>where
S: ResponseStorageSanitizer + ?Sized,
impl<S> CheckedResponseGuard<'_, '_, S>where
S: ResponseStorageSanitizer + ?Sized,
Sourcepub const fn status(&self) -> StatusCode
pub const fn status(&self) -> StatusCode
Returns the checked status code.
Sourcepub const fn content_type(&self) -> Option<ResponseContentType>
pub const fn content_type(&self) -> Option<ResponseContentType>
Returns the checked response content type when supplied.
Sourcepub const fn rate_limit(&self) -> Option<RateLimit>
pub const fn rate_limit(&self) -> Option<RateLimit>
Returns validated rate-limit metadata when supplied.
Sourcepub fn with_borrowed<R>(
&self,
inspect: impl for<'response> FnOnce(CheckedResponse<'response>) -> R,
) -> R
pub fn with_borrowed<R>( &self, inspect: impl for<'response> FnOnce(CheckedResponse<'response>) -> R, ) -> R
Runs a closure with a checked response borrow that cannot escape.
ⓘ
use cloud_sdk::operation::CheckedResponseGuard;
use cloud_sdk::transport::ResponseStorageSanitizer;
fn escape<'guard, S>(
guard: &'guard CheckedResponseGuard<'_, '_, S>,
) -> &'guard [u8]
where
S: ResponseStorageSanitizer + ?Sized,
{
guard.with_borrowed(|response| response.body())
}Sourcepub fn decode_owned<R, E>(
self,
decode: impl for<'response> FnOnce(CheckedResponse<'response>) -> Result<R, E>,
) -> Result<R, E>
pub fn decode_owned<R, E>( self, decode: impl for<'response> FnOnce(CheckedResponse<'response>) -> Result<R, E>, ) -> Result<R, E>
Decodes an owned value, clears all response storage, and then returns.
Trait Implementations§
Auto Trait Implementations§
impl<'buffer, 'sanitizer, S> !UnwindSafe for CheckedResponseGuard<'buffer, 'sanitizer, S>
impl<'buffer, 'sanitizer, S> Freeze for CheckedResponseGuard<'buffer, 'sanitizer, S>where
S: ?Sized,
impl<'buffer, 'sanitizer, S> RefUnwindSafe for CheckedResponseGuard<'buffer, 'sanitizer, S>where
S: RefUnwindSafe + ?Sized,
impl<'buffer, 'sanitizer, S> Send for CheckedResponseGuard<'buffer, 'sanitizer, S>
impl<'buffer, 'sanitizer, S> Sync for CheckedResponseGuard<'buffer, 'sanitizer, S>
impl<'buffer, 'sanitizer, S> Unpin for CheckedResponseGuard<'buffer, 'sanitizer, S>where
S: ?Sized,
impl<'buffer, 'sanitizer, S> UnsafeUnpin for CheckedResponseGuard<'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