# Struct reqwest::RequestBuilder [−] [src]

    #[must_use = "RequestBuilder does nothing until you 'send' it"]pub struct RequestBuilder { /* fields omitted */ }

A builder to construct the properties of a `Request`.

To construct a `RequestBuilder`, refer to the `Client` documentation.

## Implementations

### `impl RequestBuilder` [src]

#### `pub 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>,` [src]

Add a `Header` to this Request.

#### `pub fn headers(self, headers: HeaderMap) -> RequestBuilder` [src]

Add a set of Headers to the existing ones on this Request.

The headers will be merged in to any already set.

#### `pub fn basic_auth<U, P>(
self,
username: U,
password: Option<P>
) -> RequestBuilder where
U: Display,
P: Display,` [src]

Enable HTTP basic authentication.

#### `pub fn bearer_auth<T>(self, token: T) -> RequestBuilder where
T: Display,` [src]

Enable HTTP bearer authentication.

#### `pub fn body<T: Into<Body>>(self, body: T) -> RequestBuilder` [src]

Set the request body.

#### `pub fn timeout(self, timeout: Duration) -> RequestBuilder` [src]

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()`.

#### `pub fn query<T: Serialize + ?Sized>(self, query: &T) -> RequestBuilder` [src]

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.

#### `pub fn form<T: Serialize + ?Sized>(self, form: &T) -> RequestBuilder` [src]

Send a form body.

#### `pub fn fetch_mode_no_cors(self) -> RequestBuilder` [src]

Disable CORS on fetching the request.

# WASM

This option is only effective with WebAssembly target.

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

#### `pub fn build(self) -> Result<Request>` [src]

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

#### `pub fn send(self) -> impl Future<Output = Result<Response, Error>>` [src]

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?;

#### `pub fn try_clone(&self) -> Option<RequestBuilder>` [src]

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

## Trait Implementations

### `impl Debug for RequestBuilder` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

## Auto Trait Implementations

### `impl !RefUnwindSafe for RequestBuilder`

### `impl Send for RequestBuilder`

### `impl Sync for RequestBuilder`

### `impl Unpin for RequestBuilder`

### `impl !UnwindSafe for RequestBuilder`

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T> Instrument for T` [src]

#### `pub fn instrument(self, span: Span) -> Instrumented<Self>` [src]

Instruments this type with the provided `Span`, returning an `Instrumented` wrapper. Read more

#### `pub fn in_current_span(self) -> Instrumented<Self>` [src]

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

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

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.