use std::collections::HashMap;
use std::fmt;
use std::sync::Arc;
pub type Headers = HashMap<String, String>;
#[derive(Debug)]
pub enum HttpMethod {
Head,
Patch,
Options,
Post,
Delete,
}
impl fmt::Display for HttpMethod {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{:?}", self)
}
}
#[derive(Debug)]
pub struct HttpRequest<'a> {
pub method: HttpMethod,
pub headers: Headers,
pub url: String,
pub body: Option<&'a [u8]>,
}
#[derive(Debug)]
pub struct HttpResponse {
pub headers: Headers,
pub status_code: usize,
}
pub struct HttpHandler(pub(crate) Arc<reqwest::Client>);
pub fn default_headers() -> Headers {
let mut map = Headers::new();
map.insert(
String::from(crate::headers::TUS_RESUMABLE),
String::from("1.0.0"),
);
map
}