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,
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(&self) -> Result<Vec<u8>, S3Error> { ... }
fn request_body(&self) -> Vec<u8> ⓘ { ... }
fn long_date(&self) -> Result<String, S3Error> { ... }
fn string_to_sign(&self, request: &str) -> Result<String, S3Error> { ... }
fn host_header(&self) -> String { ... }
fn presigned(&self) -> Result<String, S3Error> { ... }
fn presigned_authorization(
&self,
custom_headers: Option<&HeaderMap>,
) -> Result<String, S3Error> { ... }
fn presigned_canonical_request(
&self,
headers: &HeaderMap,
) -> Result<String, S3Error> { ... }
fn presigned_url_no_sig(
&self,
expiry: u32,
custom_headers: Option<&HeaderMap>,
custom_queries: Option<&HashMap<String, String>>,
) -> Result<Url, S3Error> { ... }
fn url(&self) -> Result<Url, S3Error> { ... }
fn canonical_request(&self, headers: &HeaderMap) -> Result<String, S3Error> { ... }
fn authorization(&self, headers: &HeaderMap) -> Result<String, S3Error> { ... }
fn headers(&self) -> Result<HeaderMap, S3Error> { ... }
}
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,
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(&self) -> Result<Vec<u8>, S3Error>
fn request_body(&self) -> Vec<u8> ⓘ
fn long_date(&self) -> Result<String, S3Error>
fn string_to_sign(&self, request: &str) -> Result<String, S3Error>
fn host_header(&self) -> String
fn presigned(&self) -> Result<String, S3Error>
fn presigned_canonical_request( &self, headers: &HeaderMap, ) -> Result<String, S3Error>
fn presigned_url_no_sig( &self, expiry: u32, custom_headers: Option<&HeaderMap>, custom_queries: Option<&HashMap<String, String>>, ) -> Result<Url, S3Error>
fn url(&self) -> Result<Url, S3Error>
fn canonical_request(&self, headers: &HeaderMap) -> Result<String, S3Error>
fn headers(&self) -> Result<HeaderMap, S3Error>
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.