1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::io::Error as IoError;

use http::{request, response, Request, Response};

use crate::ReasonPhrase;

pub trait HeadRenderer<H: Head> {
    fn new() -> Self;
    fn render(&self, head: H, buf: &mut Vec<u8>) -> Result<(), IoError>;
}

pub trait Head {}

impl Head for Request<()> {}
impl Head for request::Parts {}

impl Head for (Response<()>, ReasonPhrase) {}
impl Head for (response::Parts, ReasonPhrase) {}