Trait HttpMessage

Source
pub trait HttpMessage:
    Write
    + Read
    + Send
    + Any
    + GetType
    + Debug {
    // Required methods
    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;

    // Provided method
    fn set_proxied(&mut self, val: bool) { ... }
}
Expand description

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

Required Methods§

Source

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.

Source

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.

Source

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

Set the read timeout duration for this message.

Source

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

Set the write timeout duration for this message.

Source

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

Closes the underlying HTTP connection.

Source

fn has_body(&self) -> bool

Returns whether the incoming message has a body.

Provided Methods§

Source

fn set_proxied(&mut self, val: bool)

Called when the Client wishes to use a Proxy.

Implementations§

Source§

impl dyn HttpMessage

Source

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

Is the underlying type in this trait object a T?

Source

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

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

Source

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

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

Source

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

If the underlying type is T, extract it.

Implementors§