Struct hyper::client::conn::SendRequest [] [src]

pub struct SendRequest<B> { /* fields omitted */ }

The sender side of an established connection.

Methods

impl<B> SendRequest<B>
[src]

Polls to determine whether this sender can be used yet for a request.

If the associated connection is closed, this returns an Error.

impl<B> SendRequest<B> where
    B: Stream<Error = Error> + 'static,
    B::Item: AsRef<[u8]>, 
[src]

Sends a Request on the associated connection.

Returns a future that if successful, yields the Response.

Note

There are some key differences in what automatic things the Client does for you that will not be done here:

  • Client requires absolute-form Uris, since the scheme and authority are need to connect. They aren't required here.
  • Since the Client requires absolute-form Uris, it can add the Host header based on it. You must add a Host header yourself before calling this method.
  • Since absolute-form Uris are not required, if received, they will be serialized as-is, irregardless of calling Request::set_proxy.

Example

use futures::Future;
use hyper::{Method, Request};
use hyper::header::Host;

// build a Request
let path = "/foo/bar".parse().expect("valid path");
let mut req = Request::new(Method::Get, path);
req.headers_mut().set(Host::new("hyper.rs", None));

// send it and get a future back
let fut = tx.send_request(req)
    .map(|res| {
        // got the Response
        assert!(res.status().is_success());
    });

Trait Implementations

impl<B> Debug for SendRequest<B>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<B> Send for SendRequest<B> where
    B: Send

impl<B> Sync for SendRequest<B> where
    B: Send