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]
pub fn poll_ready(&mut self) -> Poll<(), Error>
[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]
B: Stream<Error = Error> + 'static,
B::Item: AsRef<[u8]>,
pub fn send_request(&mut self, req: Request<B>) -> ResponseFuture
[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-formUri
s, since the scheme and authority are need to connect. They aren't required here.- Since the
Client
requires absolute-formUri
s, it can add theHost
header based on it. You must add aHost
header yourself before calling this method. - Since absolute-form
Uri
s are not required, if received, they will be serialized as-is, irregardless of callingRequest::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()); });