[−][src]Struct reqwest::blocking::Body
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
impl Body
[src]
pub fn new<R: Read + Send + 'static>(reader: R) -> Body
[src]
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);
pub fn sized<R: Read + Send + 'static>(reader: R, len: u64) -> Body
[src]
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);
pub fn as_bytes(&self) -> Option<&[u8]>
[src]
Returns the body as a byte slice if the body is already buffered in
memory. For streamed requests this method returns None
.
pub fn buffer(&mut self) -> Result<&[u8], Error>
[src]
Converts streamed requests to their buffered equivalent and returns a reference to the buffer. If the request is already buffered, this has no effect.
Be aware that for large requests this method is expensive and may cause your program to run out of memory.
Trait Implementations
impl Debug for Body
[src]
impl From<&'static [u8]> for Body
[src]
impl From<&'static str> for Body
[src]
impl From<File> for Body
[src]
impl From<String> for Body
[src]
impl From<Vec<u8>> for Body
[src]
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,