[][src]Struct awc::ClientRequest

pub struct ClientRequest { /* fields omitted */ }

An HTTP Client request builder

This type can be used to construct an instance of ClientRequest through a builder-like pattern.

use futures::future::{Future, lazy};
use actix_rt::System;

fn main() {
    System::new("test").block_on(lazy(|| {
       awc::Client::new()
          .get("http://www.rust-lang.org") // <- Create request builder
          .header("User-Agent", "Actix-web")
          .send()                          // <- Send http request
          .map_err(|_| ())
          .and_then(|response| {           // <- server http response
               println!("Response: {:?}", response);
               Ok(())
          })
    }));
}

Methods

impl ClientRequest[src]

pub fn uri<U>(self, uri: U) -> Self where
    Uri: HttpTryFrom<U>, 
[src]

Set HTTP URI of request.

pub fn address(self, addr: SocketAddr) -> Self[src]

Set socket address of the server.

This address is used for connection. If address is not provided url's host name get resolved.

pub fn method(self, method: Method) -> Self[src]

Set HTTP method of this request.

pub fn headers(&self) -> &HeaderMap[src]

Returns request's headers.

pub fn headers_mut(&mut self) -> &mut HeaderMap[src]

Returns request's mutable headers.

pub fn set<H: Header>(self, hdr: H) -> Self[src]

Set a header.

fn main() {
    let req = awc::Client::new()
        .get("http://www.rust-lang.org")
        .set(awc::http::header::Date::now())
        .set(awc::http::header::ContentType(mime::TEXT_HTML));
}

pub fn header<K, V>(self, key: K, value: V) -> Self where
    HeaderName: HttpTryFrom<K>,
    V: IntoHeaderValue
[src]

Append a header.

Header gets appended to existing header. To override header use set_header() method.

use awc::{http, Client};

fn main() {
    let req = Client::new()
        .get("http://www.rust-lang.org")
        .header("X-TEST", "value")
        .header(http::header::CONTENT_TYPE, "application/json");
}

pub fn set_header<K, V>(self, key: K, value: V) -> Self where
    HeaderName: HttpTryFrom<K>,
    V: IntoHeaderValue
[src]

Insert a header, replaces existing header.

pub fn set_header_if_none<K, V>(self, key: K, value: V) -> Self where
    HeaderName: HttpTryFrom<K>,
    V: IntoHeaderValue
[src]

Insert a header only if it is not yet set.

pub fn camel_case(self) -> Self[src]

Send headers in Camel-Case form.

pub fn force_close(self) -> Self[src]

Force close connection instead of returning it back to connections pool. This setting affect only http/1 connections.

pub fn content_type<V>(self, value: V) -> Self where
    HeaderValue: HttpTryFrom<V>, 
[src]

Set request's content type

pub fn content_length(self, len: u64) -> Self[src]

Set content length

pub fn basic_auth<U>(self, username: U, password: Option<&str>) -> Self where
    U: Display
[src]

Set HTTP basic authorization header

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

Set HTTP bearer authentication header

pub fn cookie(self, cookie: Cookie) -> Self[src]

Set a cookie

fn main() {
    System::new("test").block_on(lazy(|| {
        awc::Client::new().get("https://www.rust-lang.org")
            .cookie(
                awc::http::Cookie::build("name", "value")
                    .domain("www.rust-lang.org")
                    .path("/")
                    .secure(true)
                    .http_only(true)
                    .finish(),
            )
            .send()
            .map_err(|_| ())
            .and_then(|response| {
               println!("Response: {:?}", response);
               Ok(())
            })
    }));
}

pub fn no_decompress(self) -> Self[src]

Disable automatic decompress of response's body

pub fn timeout(self, timeout: Duration) -> Self[src]

Set request timeout. Overrides client wide timeout setting.

Request timeout is the total time before a response must be received. Default value is 5 seconds.

pub fn if_true<F>(self, value: bool, f: F) -> Self where
    F: FnOnce(ClientRequest) -> ClientRequest
[src]

This method calls provided closure with builder reference if value is true.

pub fn if_some<T, F>(self, value: Option<T>, f: F) -> Self where
    F: FnOnce(T, ClientRequest) -> ClientRequest
[src]

This method calls provided closure with builder reference if value is Some.

pub fn send_body<B>(
    self,
    body: B
) -> impl Future<Item = ClientResponse<impl Stream<Item = Bytes, Error = PayloadError>>, Error = SendRequestError> where
    B: Into<Body>, 
[src]

Complete request construction and send body.

pub fn send_json<T: Serialize>(
    self,
    value: &T
) -> impl Future<Item = ClientResponse<impl Stream<Item = Bytes, Error = PayloadError>>, Error = SendRequestError>
[src]

Set a JSON body and generate ClientRequest

pub fn send_form<T: Serialize>(
    self,
    value: &T
) -> impl Future<Item = ClientResponse<impl Stream<Item = Bytes, Error = PayloadError>>, Error = SendRequestError>
[src]

Set a urlencoded body and generate ClientRequest

ClientRequestBuilder can not be used after this call.

pub fn send_stream<S, E>(
    self,
    stream: S
) -> impl Future<Item = ClientResponse<impl Stream<Item = Bytes, Error = PayloadError>>, Error = SendRequestError> where
    S: Stream<Item = Bytes, Error = E> + 'static,
    E: Into<Error> + 'static, 
[src]

Set an streaming body and generate ClientRequest.

pub fn send(
    self
) -> impl Future<Item = ClientResponse<impl Stream<Item = Bytes, Error = PayloadError>>, Error = SendRequestError>
[src]

Set an empty body and generate ClientRequest.

Trait Implementations

impl Debug for ClientRequest[src]

Auto Trait Implementations

Blanket Implementations

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

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

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.

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.

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

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

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

impl<T> Erased for T

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,