Struct RequestBuilder
#[must_use = "RequestBuilder does nothing until you 'send' it"]
pub struct RequestBuilder { /* private fields */ }
A builder to construct the properties of a Request.
To construct a RequestBuilder, refer to the Client documentation.
Implementations
impl RequestBuilder
fn from_parts(client: Client, request: Request) -> RequestBuilderAssemble a builder starting from an existing
Clientand aRequest.fn header<K, V>(self, key: K, value: V) -> RequestBuilder where HeaderName: TryFrom<K>, HeaderValue: TryFrom<V>, <HeaderName as TryFrom<K>>::Error: Into<Error>, <HeaderValue as TryFrom<V>>::Error: Into<Error>,Add a
Headerto this Request.use USER_AGENT; #fn headers(self, headers: HeaderMap) -> RequestBuilderAdd a set of Headers to the existing ones on this Request.
The headers will be merged in to any already set.
use ; # use fs; #fn basic_auth<U, P>(self, username: U, password: Option<P>) -> RequestBuilder where U: Display, P: Display,Enable HTTP basic authentication.
#fn bearer_auth<T>(self, token: T) -> RequestBuilder where T: Display,Enable HTTP bearer authentication.
#fn body<T: Into<Body>>(self, body: T) -> RequestBuilderSet the request body.
Examples
Using a string:
#Using a
File:#Using arbitrary bytes:
# use fs; #fn timeout(self, timeout: Duration) -> RequestBuilderEnables a request timeout.
The timeout is applied from when the request starts connecting until the response body has finished. It affects only this request and overrides the timeout configured using
ClientBuilder::timeout().fn version(self, version: Version) -> RequestBuilderSet HTTP version
fn json<T: Serialize + ?Sized>(self, json: &T) -> RequestBuilderSend a JSON body.
Sets the body to the JSON serialization of the passed value, and also sets the
Content-Type: application/jsonheader.Optional
This requires the optional
jsonfeature enabled.Examples
# use Error; # use HashMap; # #Errors
Serialization can fail if
T's implementation ofSerializedecides to fail, or ifTcontains a map with non-string keys.fn build(self) -> Result<Request>Build a
Request, which can be inspected, modified and executed withClient::execute().fn build_split(self) -> (Client, Result<Request>)Build a
Request, which can be inspected, modified and executed withClient::execute().This is similar to [
RequestBuilder::build()], but also returns the embeddedClient.fn send(self) -> Result<Response>Constructs the Request and sends it the target URL, returning a Response.
Errors
This method fails if there was an error while sending request, redirect loop was detected or redirect limit was exhausted.
fn try_clone(&self) -> Option<RequestBuilder>Attempts to clone the
RequestBuilder.None is returned if a body is which can not be cloned. This can be because the body is a stream.
Examples
With a static body
#Without a body
#With a non-cloneable body
#
Trait Implementations
impl Debug for RequestBuilder
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl !Freeze for RequestBuilder
impl !RefUnwindSafe for RequestBuilder
impl !Sync for RequestBuilder
impl !UnwindSafe for RequestBuilder
impl Send for RequestBuilder
impl Unpin for RequestBuilder
impl UnsafeUnpin for RequestBuilder
Blanket Implementations
impl<T> Any for RequestBuilder
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for RequestBuilder
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for RequestBuilder
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for RequestBuilder
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Instrument for RequestBuilder
impl<T> PolicyExt for RequestBuilder
where
T: ?Sized,
fn and<P, B, E>(self, other: P) -> And<T, P> where T: Sized + Policy<B, E>, P: Policy<B, E>,fn or<P, B, E>(self, other: P) -> Or<T, P> where T: Sized + Policy<B, E>, P: Policy<B, E>,
impl<T> WithSubscriber for RequestBuilder
impl<T, U> Into<U> for RequestBuilder
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for RequestBuilder
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for RequestBuilder
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>