Trait HttpControl

Source
pub trait HttpControl {
    const TYPE: HttpType;

    // Required method
    fn attributes(&self) -> &Attributes;

    // Provided methods
    fn end_of_stream(&self) -> bool { ... }
    fn resume(&self) { ... }
    fn reset(&self) { ... }
    fn send_http_response(
        &self,
        status_code: u32,
        headers: &[(&str, &[u8])],
        body: Option<&[u8]>,
    ) -> Result<(), Status> { ... }
    fn done(&self) { ... }
}
Expand description

Defines control functions for http data

Required Associated Constants§

Source

const TYPE: HttpType

Request or Response

Required Methods§

Source

fn attributes(&self) -> &Attributes

Retrieve attributes for the http data

Provided Methods§

Source

fn end_of_stream(&self) -> bool

If true, this is the last block

Source

fn resume(&self)

Resume a paused HTTP request/response

Source

fn reset(&self)

Reset the HTTP request/response

Source

fn send_http_response( &self, status_code: u32, headers: &[(&str, &[u8])], body: Option<&[u8]>, ) -> Result<(), Status>

Send an early HTTP response, terminating the current request/response

Source

fn done(&self)

Mark this transaction as complete

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.

Implementors§

Source§

impl HttpControl for RequestBody

Source§

const TYPE: HttpType = HttpType::Request

Source§

impl HttpControl for RequestHeaders

Source§

const TYPE: HttpType = HttpType::Request

Source§

impl HttpControl for RequestTrailers

Source§

const TYPE: HttpType = HttpType::Request

Source§

impl HttpControl for ResponseBody

Source§

const TYPE: HttpType = HttpType::Response

Source§

impl HttpControl for ResponseHeaders

Source§

const TYPE: HttpType = HttpType::Response

Source§

impl HttpControl for ResponseTrailers

Source§

const TYPE: HttpType = HttpType::Response