pub struct RequestBuilder { /* private fields */ }Expand description
This is a wrapper around reqwest::RequestBuilder exposing the same API.
Implementations§
Source§impl RequestBuilder
impl RequestBuilder
Sourcepub fn from_parts(
client: ClientWithMiddleware,
request: Request,
) -> RequestBuilder
pub fn from_parts( client: ClientWithMiddleware, request: Request, ) -> RequestBuilder
Assemble a builder starting from an existing Client and a Request.
Sourcepub fn header<K, V>(self, key: K, value: V) -> Selfwhere
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) -> Selfwhere
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) -> Self
pub fn headers(self, headers: HeaderMap) -> Self
Add a set of Headers to the existing ones on this Request.
The headers will be merged in to any already set.
pub fn version(self, version: Version) -> Self
Sourcepub fn basic_auth<U, P>(self, username: U, password: Option<P>) -> Self
pub fn basic_auth<U, P>(self, username: U, password: Option<P>) -> Self
Enable HTTP basic authentication.
let client = reqwest_middleware::ClientWithMiddleware::from(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) -> Selfwhere
T: Display,
pub fn bearer_auth<T>(self, token: T) -> Selfwhere
T: Display,
Enable HTTP bearer authentication.
Sourcepub fn timeout(self, timeout: Duration) -> Self
pub fn timeout(self, timeout: Duration) -> Self
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 build(self) -> Result<Request>
pub fn build(self) -> Result<Request>
Build a Request, which can be inspected, modified and executed with
ClientWithMiddleware::execute().
Sourcepub fn build_split(self) -> (ClientWithMiddleware, Result<Request>)
pub fn build_split(self) -> (ClientWithMiddleware, Result<Request>)
Build a Request, which can be inspected, modified and executed with
ClientWithMiddleware::execute().
This is similar to RequestBuilder::build(), but also returns the
embedded Client.
Sourcepub fn with_extension<T: Send + Sync + Clone + 'static>(
self,
extension: T,
) -> Self
pub fn with_extension<T: Send + Sync + Clone + 'static>( self, extension: T, ) -> Self
Inserts the extension into this request builder
Sourcepub fn extensions(&mut self) -> &mut Extensions
pub fn extensions(&mut self) -> &mut Extensions
Returns a mutable reference to the internal set of extensions for this request
Sourcepub async fn send(self) -> Result<Response>
pub async fn send(self) -> Result<Response>
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_middleware::ClientWithMiddleware::from(reqwest::Client::new())
.get("https://hyper.rs")
.send()
.await?;Sourcepub fn try_clone(&self) -> Option<Self>
pub fn try_clone(&self) -> Option<Self>
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_middleware::ClientWithMiddleware::from(reqwest::Client::new());
let builder = client.post("http://httpbin.org/post")
.body("from a &str!");
let clone = builder.try_clone();
assert!(clone.is_some());