[][src]Struct milstian_internet_framework::application_layer::http::request::Message

pub struct Message {
    pub body: BodyContentType,
    pub headers: HashMap<String, HeaderValueParts, RandomState>,
    pub request_line: Line,
}

Fields

body: BodyContentTypeheaders: HashMap<String, HeaderValueParts, RandomState>request_line: Line

Methods

impl Message[src]

pub fn get_protocol_text(protocol: &Protocol) -> String[src]

pub fn get_message_body(body: &str) -> Option<BodyContentType>[src]

pub fn get_header_field(line: &str) -> Option<(String, HeaderValueParts)>[src]

pub fn get_request_line(line: &str) -> Option<Line>[src]

pub fn from_tcp_stream(request: &[u8]) -> Option<Message>[src]

Try to decode a byte stream into a HTTP Message

Usage

use milstian_http::request::{Message, Method, Protocol};
let response = Message::from_tcp_stream(b"GET / HTTP/2.0\r\n");
let response_unwrapped = response.expect("A decoded HTTP Message");
assert_eq!(response_unwrapped.request_line.method, Method::Get);
assert_eq!(response_unwrapped.request_line.request_uri, "/".to_string());
assert_eq!(response_unwrapped.request_line.protocol, Protocol::V2_0);

Trait Implementations

impl Debug for Message[src]

Auto Trait Implementations

impl Send for Message

impl Sync for Message

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]