elaine 0.1.1

Async http head reader
Documentation

Elaine

ci.img docs.img crates.img

This crate provides a lightweight and potentially incomplete http head parser implementation for async-std readers.

Example

use std::boxed::Box;
use std::error::Error;

use elaine::recognize;
use async_std::task::block_on;

fn main() -> Result<(), Box<dyn Error>> {
  block_on(async {
    let mut req: &[u8] = b"GET /elaine HTTP/1.1\r\nContent-Length: 3\r\n\r\nhey";
    let result = recognize(&mut req).await.unwrap();
    assert_eq!(result.method(), Some("GET".to_string()));
    assert_eq!(result.len(), Some(3));
    assert_eq!(std::str::from_utf8(req), Ok("hey"));
  });
  Ok(())
}
elaine
elaine

Contributing

See CONTRIBUTING.