pub trait ObjectAccessSigner:
Send
+ Sync
+ Debug {
// Required methods
fn sign_put<'life0, 'async_trait>(
&'life0 self,
request: PresignPutObject,
) -> Pin<Box<dyn Future<Output = Result<PresignedObjectRequest, ObjectStoreError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn sign_get<'life0, 'async_trait>(
&'life0 self,
request: PresignGetObject,
) -> Pin<Box<dyn Future<Output = Result<PresignedObjectRequest, ObjectStoreError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Provider adapter for direct upload and download URLs.
Keeping signing separate from ObjectStore lets applications use server-side storage without
exposing direct browser access. AWS implementations can map this port to S3 presigning while
local/test implementations remain deterministic.
Required Methods§
fn sign_put<'life0, 'async_trait>(
&'life0 self,
request: PresignPutObject,
) -> Pin<Box<dyn Future<Output = Result<PresignedObjectRequest, ObjectStoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sign_get<'life0, 'async_trait>(
&'life0 self,
request: PresignGetObject,
) -> Pin<Box<dyn Future<Output = Result<PresignedObjectRequest, ObjectStoreError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".