use bytes::{Bytes, buf::Reader}; use std::sync::{Arc, Condvar, Mutex}; use tokio::sync::Notify; use warp::http; pub struct HttpListener { pub incoming: std::sync::mpsc::Receiver, pub warp_shutdown: Arc, } pub struct HttpRequest { pub request_data: HttpRequestData, pub response: HttpResponse, } pub type HttpResponse = Arc<(Mutex, Mutex>, Condvar)>; pub struct HttpRequestData { pub method: http::Method, pub headers: http::HeaderMap, pub path: String, pub query: String, pub body: Reader, }