http1_spec/
head_renderer.rs

1use std::io::Error as IoError;
2
3use http::{request, response, Request, Response};
4
5use crate::ReasonPhrase;
6
7pub trait HeadRenderer<H: Head> {
8    fn new() -> Self;
9    fn render(&self, head: H, buf: &mut Vec<u8>) -> Result<(), IoError>;
10}
11
12pub trait Head {}
13
14impl Head for Request<()> {}
15impl Head for request::Parts {}
16
17impl Head for (Response<()>, ReasonPhrase) {}
18impl Head for (response::Parts, ReasonPhrase) {}