Struct aws_smithy_http::body::SdkBody
source · pub struct SdkBody { /* private fields */ }
Expand description
SdkBody type
This is the Body used for dispatching all HTTP Requests. For handling responses, the type of the body will be controlled by the HTTP stack.
Implementations§
source§impl SdkBody
impl SdkBody
sourcepub fn from_dyn(body: BoxBody) -> Self
pub fn from_dyn(body: BoxBody) -> Self
Construct an SdkBody from a Boxed implementation of http::Body
sourcepub fn retryable(f: impl Fn() -> SdkBody + Send + Sync + 'static) -> Self
pub fn retryable(f: impl Fn() -> SdkBody + Send + Sync + 'static) -> Self
Construct an explicitly retryable SDK body
Note: This is probably not what you want
All bodies constructed from in-memory data (String
, Vec<u8>
, Bytes
, etc.) will be
retryable out of the box. If you want to read data from a file, you should use
ByteStream::from_path
. This function
is only necessary when you need to enable retries for your own streaming container.
pub fn taken() -> Self
pub fn empty() -> Self
sourcepub fn bytes(&self) -> Option<&[u8]>
pub fn bytes(&self) -> Option<&[u8]>
If possible, return a reference to this body as &[u8]
If this SdkBody is NOT streaming, this will return the byte slab
If this SdkBody is streaming, this will return None
pub fn try_clone(&self) -> Option<Self>
pub fn content_length(&self) -> Option<u64>
pub fn map( self, f: impl Fn(SdkBody) -> SdkBody + Sync + Send + 'static ) -> SdkBody
Trait Implementations§
source§impl Body for SdkBody
impl Body for SdkBody
§type Error = Box<dyn Error + Send + Sync + 'static, Global>
type Error = Box<dyn Error + Send + Sync + 'static, Global>
The error type this
Body
might generate.source§fn poll_data(
self: Pin<&mut Self>,
cx: &mut Context<'_>
) -> Poll<Option<Result<Self::Data, Self::Error>>>
fn poll_data( self: Pin<&mut Self>, cx: &mut Context<'_> ) -> Poll<Option<Result<Self::Data, Self::Error>>>
Attempt to pull out the next data buffer of this stream.
source§fn poll_trailers(
self: Pin<&mut Self>,
_cx: &mut Context<'_>
) -> Poll<Result<Option<HeaderMap<HeaderValue>>, Self::Error>>
fn poll_trailers( self: Pin<&mut Self>, _cx: &mut Context<'_> ) -> Poll<Result<Option<HeaderMap<HeaderValue>>, Self::Error>>
Poll for an optional single
HeaderMap
of trailers. Read moresource§fn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
Returns
true
when the end of stream has been reached. Read moresource§fn size_hint(&self) -> SizeHint
fn size_hint(&self) -> SizeHint
Returns the bounds on the remaining length of the stream. Read more
source§fn data(&mut self) -> Data<'_, Self>where
Self: Unpin + Sized,
fn data(&mut self) -> Data<'_, Self>where Self: Unpin + Sized,
Returns future that resolves to next data chunk, if any.
source§fn trailers(&mut self) -> Trailers<'_, Self>where
Self: Unpin + Sized,
fn trailers(&mut self) -> Trailers<'_, Self>where Self: Unpin + Sized,
Returns future that resolves to trailers, if any.
source§fn map_data<F, B>(self, f: F) -> MapData<Self, F>where
Self: Sized,
F: FnMut(Self::Data) -> B,
B: Buf,
fn map_data<F, B>(self, f: F) -> MapData<Self, F>where Self: Sized, F: FnMut(Self::Data) -> B, B: Buf,
Maps this body’s data value to a different value.
source§fn map_err<F, E>(self, f: F) -> MapErr<Self, F>where
Self: Sized,
F: FnMut(Self::Error) -> E,
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>where Self: Sized, F: FnMut(Self::Error) -> E,
Maps this body’s error value to a different value.
source§fn boxed(self) -> BoxBody<Self::Data, Self::Error>where
Self: Sized + Send + Sync + 'static,
fn boxed(self) -> BoxBody<Self::Data, Self::Error>where Self: Sized + Send + Sync + 'static,
Turn this body into a boxed trait object.
source§fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>where
Self: Sized + Send + 'static,
fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>where Self: Sized + Send + 'static,
Turn this body into a boxed trait object that is !Sync.