use bytes::Bytes;
use super::{FileUploadProgressPolicy, FileUploadUrls};
#[derive(Debug, Clone)]
pub struct HttpRequest {
pub method: String, pub url: String,
pub headers: Vec<(String, String)>,
pub body: Option<Bytes>,
}
#[derive(Debug, Clone)]
pub struct HttpResponse {
pub status: u16,
pub headers: Vec<(String, String)>,
pub body: Bytes,
}
#[derive(Debug, Clone)]
pub struct FileUploadRequest {
pub local_path: String,
pub object_key: String,
pub method: String,
pub urls: FileUploadUrls,
pub headers: Vec<(String, String)>,
pub content_type: Option<String>,
pub size: Option<u64>,
}
impl FileUploadRequest {
pub fn progress_policy(&self) -> FileUploadProgressPolicy {
self.urls.progress_policy()
}
}
#[derive(Debug, Clone)]
pub struct FileUploadResponse {
pub object_key: String,
pub public_url: String,
pub etag: Option<String>,
}