pub struct Body { /* private fields */ }
Expand description
The body of a Request
.
In most cases, this is not needed directly, as the
RequestBuilder.body
method uses Into<Body>
, which allows
passing many things (like a string or vector of bytes).
Implementations
sourceimpl Body
impl Body
sourcepub fn new<R: Read + Send + 'static>(reader: R) -> Body
pub fn new<R: Read + Send + 'static>(reader: R) -> Body
Instantiate a Body
from a reader.
Note
While allowing for many types to be used, these bodies do not have
a way to reset to the beginning and be reused. This means that when
encountering a 307 or 308 status code, instead of repeating the
request at the new location, the Response
will be returned with
the redirect status code set.
let file = File::open("national_secrets.txt")?;
let body = Body::new(file);
If you have a set of bytes, like String
or Vec<u8>
, using the
From
implementations for Body
will store the data in a manner
it can be reused.
let s = "A stringy body";
let body = Body::from(s);
sourcepub fn sized<R: Read + Send + 'static>(reader: R, len: u64) -> Body
pub fn sized<R: Read + Send + 'static>(reader: R, len: u64) -> Body
Create a Body
from a Read
where the size is known in advance
but the data should not be fully loaded into memory. This will
set the Content-Length
header and stream from the Read
.
let file = File::open("a_large_file.txt")?;
let file_size = file.metadata()?.len();
let body = Body::sized(file, file_size);
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Body
impl Send for Body
impl !Sync for Body
impl Unpin for Body
impl !UnwindSafe for Body
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more