Struct reqwest::RequestBuilder

source ·
pub struct RequestBuilder { /* private fields */ }
Expand description

A builder to construct the properties of a Request.

Implementations§

source§

impl RequestBuilder

source

pub fn query<T: Serialize + ?Sized>(self, query: &T) -> RequestBuilder

Modify the query string of the URL.

Modifies the URL of this request, adding the parameters provided. This method appends and does not overwrite. This means that it can be called multiple times and that existing query parameters are not overwritten if the same key is used. The key will simply show up twice in the query string. Calling .query([("foo", "a"), ("foo", "b")]) gives "foo=a&foo=b".

§Note

This method does not support serializing a single key-value pair. Instead of using .query(("key", "val")), use a sequence, such as .query(&[("key", "val")]). It’s also possible to serialize structs and maps into a key-value pair.

§Errors

This method will fail if the object you provide cannot be serialized into a query string.

source

pub fn form<T: Serialize + ?Sized>(self, form: &T) -> RequestBuilder

Send a form body.

Sets the body to the url encoded serialization of the passed value, and also sets the Content-Type: application/x-www-form-urlencoded header.

§Errors

This method fails if the passed value cannot be serialized into url encoded format

source

pub fn json<T: Serialize + ?Sized>(self, json: &T) -> RequestBuilder

Available on crate feature json only.

Set the request json

source

pub fn basic_auth<U, P>( self, username: U, password: Option<P> ) -> RequestBuilder
where U: Display, P: Display,

Enable HTTP basic authentication.

source

pub fn bearer_auth<T>(self, token: T) -> RequestBuilder
where T: Display,

Enable HTTP bearer authentication.

source

pub fn body<T: Into<Body>>(self, body: T) -> RequestBuilder

Set the request body.

source

pub fn multipart(self, multipart: Form) -> RequestBuilder

Available on crate feature multipart only.

TODO

source

pub fn header<K, V>(self, key: K, value: V) -> RequestBuilder

Add a Header to this Request.

source

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.

source

pub fn fetch_mode_no_cors(self) -> RequestBuilder

Disable CORS on fetching the request.

§WASM

This option is only effective with WebAssembly target.

The request mode will be set to ‘no-cors’.

source

pub fn fetch_credentials_same_origin(self) -> RequestBuilder

Set fetch credentials to ‘same-origin’

§WASM

This option is only effective with WebAssembly target.

The request credentials will be set to ‘same-origin’.

source

pub fn fetch_credentials_include(self) -> RequestBuilder

Set fetch credentials to ‘include’

§WASM

This option is only effective with WebAssembly target.

The request credentials will be set to ‘include’.

source

pub fn fetch_credentials_omit(self) -> RequestBuilder

Set fetch credentials to ‘omit’

§WASM

This option is only effective with WebAssembly target.

The request credentials will be set to ‘omit’.

source

pub fn build(self) -> Result<Request>

Build a Request, which can be inspected, modified and executed with Client::execute().

source

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.

§Example
let response = reqwest::Client::new()
    .get("https://hyper.rs")
    .send()
    .await?;
source

pub fn try_clone(&self) -> Option<RequestBuilder>

Attempt to clone the RequestBuilder.

None is returned if the RequestBuilder can not be cloned.

§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());

Trait Implementations§

source§

impl Debug for RequestBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.