http_tiny 1.1.0

A simple, dependency-less HTTP-header builder and parser
Documentation
mod helpers;

use http_tiny::{ Header, HeaderStartLine, HeaderFields };
use std::{ io::Cursor, iter::FromIterator };


struct Test {
    header: Header,
    raw: &'static [u8]
}
impl Test {
    pub fn test(self) {
        let mut serialized = Cursor::new(Vec::new());
        self.header.write_all(&mut serialized).unwrap();
        assert_eq!(self.raw, serialized.into_inner().as_slice())
    }
}
#[test]
fn test() {
    Test {
        header: Header::new(
            HeaderStartLine::new_response(200, "OK"),
            HeaderFields::new()
        ),
        raw: b"HTTP/1.1 200 OK\r\n\r\n"
    }.test();
    
    Test {
        header: Header::new(
            HeaderStartLine::new_response(200, "OK"),
            HeaderFields::from_iter([
                ("Date", "Sun, 26 May 2019 22:02:50 GMT")
            ])
        ),
        raw: concat!(
            "HTTP/1.1 200 OK\r\n",
            "date: Sun, 26 May 2019 22:02:50 GMT\r\n",
            "\r\n"
        ).as_bytes()
    }.test();
}