1#[cfg(feature = "server")]
2pub(crate) mod create;
3#[cfg(feature = "server")]
4pub(crate) mod get;
5pub(crate) mod list;
6
7pub use list::{ListObjectsQueryParameters, ListObjectsResponse, Object};
8
9use serde::{Deserialize, Serialize};
10
11#[derive(Debug, Clone, Deserialize, Serialize)]
12pub struct SignQueryParameters {
13 pub bucket: String,
14 pub path: String,
15}
16
17#[cfg(feature = "server")]
18pub(crate) use server::routes;
19
20#[cfg(feature = "server")]
21mod server {
22 use super::*;
23 use crate::S3Configuration;
24 use warp::{Filter, Rejection, Reply};
25
26 pub(crate) fn routes(
27 s3_configuration: &S3Configuration,
28 ) -> impl Filter<Extract = (impl Reply,), Error = Rejection> + Clone {
29 get::route(s3_configuration)
30 .or(create::route(s3_configuration))
31 .or(list::server::route(s3_configuration))
32 }
33}