Trait hyper::http::message::HttpMessage [] [src]

pub trait HttpMessage: Write + Read + Send + Any + Typeable + Debug {
    fn set_outgoing(&mut self, head: RequestHead) -> Result<RequestHead>;
    fn get_incoming(&mut self) -> Result<ResponseHead>;
    fn set_read_timeout(&self, dur: Option<Duration>) -> Result<()>;
    fn set_write_timeout(&self, dur: Option<Duration>) -> Result<()>;
    fn close_connection(&mut self) -> Result<()>;
    fn has_body(&self) -> bool;
}

The trait provides an API for sending an receiving HTTP messages.

Required Methods

fn set_outgoing(&mut self, head: RequestHead) -> Result<RequestHead>

Initiates a new outgoing request.

Only the request's head is provided (in terms of the RequestHead struct).

After this, the HttpMessage instance can be used as an io::Write in order to write the body of the request.

fn get_incoming(&mut self) -> Result<ResponseHead>

Obtains the incoming response and returns its head (i.e. the ResponseHead struct)

After this, the HttpMessage instance can be used as an io::Read in order to read out the response body.

fn set_read_timeout(&self, dur: Option<Duration>) -> Result<()>

Set the read timeout duration for this message.

fn set_write_timeout(&self, dur: Option<Duration>) -> Result<()>

Set the write timeout duration for this message.

fn close_connection(&mut self) -> Result<()>

Closes the underlying HTTP connection.

fn has_body(&self) -> bool

Returns whether the incoming message has a body.

Methods

impl HttpMessage

fn is<T: Any>(&self) -> bool

Is the underlying type in this trait object a T?

fn downcast_ref<T: Any>(&self) -> Option<&T>

If the underlying type is T, get a reference to the contained data.

fn downcast_mut<T: Any>(&mut self) -> Option<&mut T>

If the underlying type is T, get a mutable reference to the contained data.

fn downcast<T: Any>(self: Box<HttpMessage>) -> Result<Box<T>, Box<HttpMessage>>

If the underlying type is T, extract it.

Implementors