mod file_field;
mod single;
mod storage;
pub use file_field::*;
pub use single::*;
pub use storage::*;
use crate::ext::uploader::{SingleUploader, UploaderProcesser};
use crate::router::HttpSvc;
use miko_core::Req;
use std::sync::Arc;
use tower::util::BoxCloneService;
pub struct Uploader {}
impl Uploader {
pub fn single<T>(storage_provider: T) -> HttpSvc<Req>
where
T: UploaderProcesser + Clone + Send + Sync + 'static,
{
BoxCloneService::new(SingleUploader {
inner: Arc::new(storage_provider),
})
}
}