s3_signer/objects/
mod.rs

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}