1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
use bytes::BytesMut; use tokio_util::codec::{Encoder, Decoder}; use crate::response::{self, Response}; use crate::request::{self, Request}; use std::io; pub struct Http; impl Decoder for Http { type Item = Request; type Error = io::Error; fn decode(&mut self, buf: &mut BytesMut) -> io::Result<Option<Request>> { request::decode(buf) } } impl Encoder for Http { type Item = Response; type Error = io::Error; fn encode(&mut self, msg: Response, buf: &mut BytesMut) -> io::Result<()> { response::encode(&msg, buf); Ok(()) } }