use warp::{
    http::Method,
    hyper::{body::Bytes, HeaderMap},
    path::FullPath,
    Filter,
};

pub type QueryParameters = Option<String>;
pub type Request = (FullPath, HeaderMap, Method, Bytes);

pub fn extract_request_data_filter(
) -> impl Filter<Extract = Request, Error = warp::Rejection> + Clone {
    warp::path::full()
        .and(warp::header::headers_cloned())
        .and(warp::method())
        .and(warp::body::bytes())
}
