http_str

This is a Rust libray that provides some types for parsing http request and create responses.

Usage

```rust use std::net::{TcpListener, TcpStream}; use std::io::prelude::*; use std::io; use httpstr::Request; use std::fs::File; use std::collections::BTreeMap; use std::str::fromutf8;

fn main() -> io::Result<()> { let tcp_listener = TcpListener::bind("127.0.0.1:7878")?;

for stream in tcp_listener.incoming() {
    let stream = stream?;
    handle_connection(stream)?;
}

}

fn handleconnection(stream: TcpStream) -> io::Result<()> { let mut buffer = [0; 512]; stream.readexact(&mut buffer)?;

let request = Request::new(&buffer[..]);
let mut body = [0; 512];
let file = File::open(request.uri)?;
file.read_exact(&mut body)?;
let mut string = String::new();

let response = Response::new(request.version,
                200, 
                BTreeMap::new(), // headers
                from_utf8(&body[..]).unwrap(), 
                &mut string); 

stream.write_all(response.as_bytes())?;
stream.flush()?;

Ok(())

} ```