pub trait Request {
type Response;
type HeaderMap;
Show 22 methods
// Required methods
fn response<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Response, S3Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn response_data<'life0, 'async_trait>(
&'life0 self,
etag: bool,
) -> Pin<Box<dyn Future<Output = Result<ResponseData, S3Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn response_data_to_writer<'life0, 'life1, 'async_trait, T>(
&'life0 self,
writer: &'life1 mut T,
) -> Pin<Box<dyn Future<Output = Result<u16, S3Error>> + Send + 'async_trait>>
where T: 'async_trait + AsyncWrite + Send + Unpin + ?Sized,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn response_data_to_stream<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ResponseDataStream, S3Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn response_header<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(Self::HeaderMap, u16), S3Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn datetime(&self) -> OffsetDateTime;
fn bucket(&self) -> Bucket;
fn command(&self) -> Command<'_>;
fn path(&self) -> String;
// Provided methods
fn signing_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn request_body(&self) -> Result<Vec<u8>, S3Error> { ... }
fn long_date(&self) -> Result<String, S3Error> { ... }
fn string_to_sign(&self, request: &str) -> Result<String, S3Error> { ... }
fn host_header(&self) -> String { ... }
fn presigned<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
fn presigned_authorization<'life0, 'life1, 'async_trait>(
&'life0 self,
custom_headers: Option<&'life1 HeaderMap>,
) -> Pin<Box<dyn Future<Output = Result<String, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn presigned_canonical_request<'life0, 'life1, 'async_trait>(
&'life0 self,
headers: &'life1 HeaderMap,
) -> Pin<Box<dyn Future<Output = Result<String, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn presigned_url_no_sig<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
expiry: u32,
custom_headers: Option<&'life1 HeaderMap>,
custom_queries: Option<&'life2 HashMap<String, String>>,
) -> Pin<Box<dyn Future<Output = Result<Url, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn url(&self) -> Result<Url, S3Error> { ... }
fn canonical_request(&self, headers: &HeaderMap) -> Result<String, S3Error> { ... }
fn authorization<'life0, 'life1, 'async_trait>(
&'life0 self,
headers: &'life1 HeaderMap,
) -> Pin<Box<dyn Future<Output = Result<String, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn headers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HeaderMap, S3Error>> + Send + 'async_trait>>
where Self: Sync + 'async_trait,
'life0: 'async_trait { ... }
}
Required Associated Types§
Required Methods§
fn response<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Self::Response, S3Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn response_data<'life0, 'async_trait>(
&'life0 self,
etag: bool,
) -> Pin<Box<dyn Future<Output = Result<ResponseData, S3Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn response_data_to_writer<'life0, 'life1, 'async_trait, T>(
&'life0 self,
writer: &'life1 mut T,
) -> Pin<Box<dyn Future<Output = Result<u16, S3Error>> + Send + 'async_trait>>where
T: 'async_trait + AsyncWrite + Send + Unpin + ?Sized,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn response_data_to_stream<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<ResponseDataStream, S3Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn response_header<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(Self::HeaderMap, u16), S3Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn datetime(&self) -> OffsetDateTime
fn bucket(&self) -> Bucket
fn command(&self) -> Command<'_>
fn path(&self) -> String
Provided Methods§
fn signing_key<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, S3Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn request_body(&self) -> Result<Vec<u8>, S3Error>
fn long_date(&self) -> Result<String, S3Error>
fn string_to_sign(&self, request: &str) -> Result<String, S3Error>
fn host_header(&self) -> String
fn presigned<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String, S3Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn presigned_canonical_request<'life0, 'life1, 'async_trait>(
&'life0 self,
headers: &'life1 HeaderMap,
) -> Pin<Box<dyn Future<Output = Result<String, S3Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn presigned_url_no_sig<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
expiry: u32,
custom_headers: Option<&'life1 HeaderMap>,
custom_queries: Option<&'life2 HashMap<String, String>>,
) -> Pin<Box<dyn Future<Output = Result<Url, S3Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn url(&self) -> Result<Url, S3Error>
fn canonical_request(&self, headers: &HeaderMap) -> Result<String, S3Error>
fn headers<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HeaderMap, S3Error>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.