pub(crate) trait Http1Transaction {
    type Incoming;
    type Outgoing: Default;

    const LOG: &'static str;

    // Required methods
    fn parse(
        bytes: &mut BytesMut,
        ctx: ParseContext<'_>
    ) -> Result<Option<ParsedMessage<Self::Incoming>>, Parse>;
    fn encode(
        enc: Encode<'_, Self::Outgoing>,
        dst: &mut Vec<u8>
    ) -> Result<Encoder>;
    fn on_error(err: &Error) -> Option<MessageHead<Self::Outgoing>>;

    // Provided methods
    fn is_client() -> bool { ... }
    fn is_server() -> bool { ... }
    fn should_error_on_parse_eof() -> bool { ... }
    fn should_read_first() -> bool { ... }
    fn update_date() { ... }
}

Required Associated Types§

Required Associated Constants§

source

const LOG: &'static str

Required Methods§

source

fn parse( bytes: &mut BytesMut, ctx: ParseContext<'_> ) -> Result<Option<ParsedMessage<Self::Incoming>>, Parse>

source

fn encode(enc: Encode<'_, Self::Outgoing>, dst: &mut Vec<u8>) -> Result<Encoder>

source

fn on_error(err: &Error) -> Option<MessageHead<Self::Outgoing>>

Provided Methods§

Implementors§

source§

impl Http1Transaction for Client

§

type Incoming = StatusCode

§

type Outgoing = RequestLine

source§

const LOG: &'static str = "{role=client}"

source§

impl Http1Transaction for Server

§

type Incoming = RequestLine

§

type Outgoing = StatusCode

source§

const LOG: &'static str = "{role=server}"