pub struct RequestBuilder { /* private fields */ }Expand description
A builder to construct the properties of a Request.
To construct a RequestBuilder, refer to the Client documentation.
Implementations§
Source§impl RequestBuilder
impl RequestBuilder
Sourcepub fn from_parts(client: Client, request: Request) -> RequestBuilder
pub fn from_parts(client: Client, request: Request) -> RequestBuilder
Assemble a builder starting from an existing Client and a Request.
Sourcepub fn header<K, V>(self, key: K, value: V) -> RequestBuilderwhere
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
pub fn header<K, V>(self, key: K, value: V) -> RequestBuilderwhere
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
Add a Header to this Request.
Sourcepub fn headers(self, headers: HeaderMap) -> RequestBuilder
pub fn headers(self, headers: HeaderMap) -> RequestBuilder
Add a set of Headers to the existing ones on this Request.
The headers will be merged in to any already set.
Sourcepub fn basic_auth<U, P>(
self,
username: U,
password: Option<P>,
) -> RequestBuilder
pub fn basic_auth<U, P>( self, username: U, password: Option<P>, ) -> RequestBuilder
Enable HTTP basic authentication.
let client = reqwest::Client::new();
let resp = client.delete("http://httpbin.org/delete")
.basic_auth("admin", Some("good password"))
.send()
.await?;Sourcepub fn bearer_auth<T>(self, token: T) -> RequestBuilderwhere
T: Display,
pub fn bearer_auth<T>(self, token: T) -> RequestBuilderwhere
T: Display,
Enable HTTP bearer authentication.
Sourcepub fn body<T: Into<Body>>(self, body: T) -> RequestBuilder
pub fn body<T: Into<Body>>(self, body: T) -> RequestBuilder
Set the request body.
Sourcepub fn timeout(self, timeout: Duration) -> RequestBuilder
pub fn timeout(self, timeout: Duration) -> RequestBuilder
Enables 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().
Sourcepub fn version(self, version: Version) -> RequestBuilder
pub fn version(self, version: Version) -> RequestBuilder
Set HTTP version
Sourcepub fn build(self) -> Result<Request>
pub fn build(self) -> Result<Request>
Build a Request, which can be inspected, modified and executed with
Client::execute().
Sourcepub fn build_split(self) -> (Client, Result<Request>)
pub fn build_split(self) -> (Client, Result<Request>)
Build a Request, which can be inspected, modified and executed with
Client::execute().
This is similar to RequestBuilder::build(), but also returns the
embedded Client.
Sourcepub fn send(self) -> impl Future<Output = Result<Response, Error>>
pub 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
let response = reqwest::Client::new()
.get("https://hyper.rs")
.send()
.await?;Sourcepub fn try_clone(&self) -> Option<RequestBuilder>
pub fn try_clone(&self) -> Option<RequestBuilder>
Attempt to clone the RequestBuilder.
None is returned if the RequestBuilder can not be cloned,
i.e. if the request body is a stream.
§Examples
let client = reqwest::Client::new();
let builder = client.post("http://httpbin.org/post")
.body("from a &str!");
let clone = builder.try_clone();
assert!(clone.is_some());