1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use std::io; 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>) -> io::Result<()>; } pub trait Head {} impl Head for Request<()> {} impl Head for request::Parts {} impl Head for (Response<()>, ReasonPhrase) {} impl Head for (response::Parts, ReasonPhrase) {}