Htpp
A fast and simple HTTP 1.1 parser written in Rust
Usage
You can parse a request as follows:
use ;
let req = b"GET /index.html HTTP/1.1\r\n\r\n";
let mut headers = ;
let parsed = parse.unwrap;
assert!;
assert!;
You can create a request as follows:
use ;
let method = Get;
let path = "/index.html";
let mut headers = ;
let req = new;
Working with [Response]
You can parse a response as follows:
use ;
let req = b"HTTP/1.1 200 OK\r\n\r\n";
let mut headers = ;
let parsed = parse.unwrap;
assert!;
assert!;
You can create a response as follows:
use ;
let status = 200;
let reason = "OK";
let mut headers = ;
let req = new;
After parsing a request, you can also parse the path part of the request inclusing query parameters as follows:
use ;
let req = b"GET /index.html?query1=value&query2=value HTTP/1.1\r\n\r\n";
let mut headers = ;
let parsed_req = parse.unwrap;
let mut queries_buf = ;
let url = parse.unwrap;
assert!;
assert!;
assert!;
Contribution
Feel free to make a pull request if you think you can improve the code