Trait HttpMessage

Source
pub trait HttpMessage: Sized {
    type Stream;

    // Required methods
    fn headers(&self) -> &HeaderMap;
    fn take_payload(&mut self) -> Payload<Self::Stream>;
    fn extensions(&self) -> Ref<'_, Extensions>;
    fn extensions_mut(&self) -> RefMut<'_, Extensions>;

    // Provided methods
    fn content_type(&self) -> &str { ... }
    fn encoding(&self) -> Result<&'static Encoding, ContentTypeError> { ... }
    fn mime_type(&self) -> Result<Option<Mime>, ContentTypeError> { ... }
    fn chunked(&self) -> Result<bool, ParseError> { ... }
}
Expand description

Trait that implements general purpose operations on HTTP messages.

Required Associated Types§

Source

type Stream

Type of message payload stream

Required Methods§

Source

fn headers(&self) -> &HeaderMap

Read the message headers.

Source

fn take_payload(&mut self) -> Payload<Self::Stream>

Message payload stream

Source

fn extensions(&self) -> Ref<'_, Extensions>

Returns a reference to the request-local data/extensions container.

Source

fn extensions_mut(&self) -> RefMut<'_, Extensions>

Returns a mutable reference to the request-local data/extensions container.

Provided Methods§

Source

fn content_type(&self) -> &str

Read the request content type. If request did not contain a Content-Type header, an empty string is returned.

Source

fn encoding(&self) -> Result<&'static Encoding, ContentTypeError>

Get content type encoding.

UTF-8 is used by default, If request charset is not set.

Source

fn mime_type(&self) -> Result<Option<Mime>, ContentTypeError>

Convert the request content type to a known mime type.

Source

fn chunked(&self) -> Result<bool, ParseError>

Check if request has chunked transfer encoding.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a, T> HttpMessage for &'a mut T
where T: HttpMessage,

Source§

fn take_payload(&mut self) -> Payload<Self::Stream>

Message payload stream

Source§

fn extensions(&self) -> Ref<'_, Extensions>

Request’s extensions container

Source§

fn extensions_mut(&self) -> RefMut<'_, Extensions>

Mutable reference to a the request’s extensions container

Source§

type Stream = <T as HttpMessage>::Stream

Source§

fn headers(&self) -> &HeaderMap

Implementors§