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>, <HeaderName as TryFrom<K>>::Error: Into<Error>, HeaderValue: TryFrom<V>, <HeaderValue as TryFrom<V>>::Error: Into<Error>,Add a
Headerto this Request.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.
fn basic_auth<U, P>(self, username: U, password: Option<P>) -> RequestBuilder where U: Display, P: Display,Enable HTTP basic authentication.
# use Error; # asyncfn 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.
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.
Optional
This requires the optional
jsonfeature enabled.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) -> impl Future<Output = Result<Response, Error>>Constructs the Request and sends it to the target URL, returning a future Response.
Errors
This method fails if there was an error while sending request, redirect loop was detected or redirect limit was exhausted.
Example
# use reqwest::Error; # # async fn run() -> Result<(), Error> { let response = reqwest::Client::new() .get("https://hyper.rs") .send() .await?; # Ok(()) # }fn try_clone(&self) -> Option<RequestBuilder>Attempt to clone the RequestBuilder.
Noneis returned if the RequestBuilder can not be cloned, i.e. if the request body is a stream.Examples
# use Error; # #
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 !UnwindSafe for RequestBuilder
impl Send for RequestBuilder
impl Sync 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>