pub trait S3Action<'a> {
    const METHOD: Method;

    // Required methods
    fn query_mut(&mut self) -> &mut Map<'a>;
    fn headers_mut(&mut self) -> &mut Map<'a>;
    fn sign_with_time(&self, expires_in: Duration, time: &OffsetDateTime) -> Url;

    // Provided method
    fn sign(&self, expires_in: Duration) -> Url { ... }
}
Expand description

A request which can be signed

Required Associated Constants§

Required Methods§

source

fn query_mut(&mut self) -> &mut Map<'a>

Get a mutable reference to the query string of this action

source

fn headers_mut(&mut self) -> &mut Map<'a>

Get a mutable reference to the signed headers of this action

Headers specified here must also be present in the final request, with the same value specified, otherwise the S3 API will return an error.

source

fn sign_with_time(&self, expires_in: Duration, time: &OffsetDateTime) -> Url

Takes the time at which the URL should be signed Used for testing purposes

Provided Methods§

source

fn sign(&self, expires_in: Duration) -> Url

Sign a request for this action, using METHOD for the Method

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a> S3Action<'a> for AbortMultipartUpload<'a>

source§

const METHOD: Method = Method::Delete

source§

impl<'a> S3Action<'a> for CreateBucket<'a>

source§

const METHOD: Method = Method::Put

source§

impl<'a> S3Action<'a> for CreateMultipartUpload<'a>

source§

const METHOD: Method = Method::Post

source§

impl<'a> S3Action<'a> for DeleteBucket<'a>

source§

const METHOD: Method = Method::Delete

source§

impl<'a> S3Action<'a> for DeleteObject<'a>

source§

const METHOD: Method = Method::Delete

source§

impl<'a> S3Action<'a> for GetObject<'a>

source§

const METHOD: Method = Method::Get

source§

impl<'a> S3Action<'a> for HeadBucket<'a>

source§

const METHOD: Method = Method::Head

source§

impl<'a> S3Action<'a> for HeadObject<'a>

source§

const METHOD: Method = Method::Head

source§

impl<'a> S3Action<'a> for ListObjectsV2<'a>

source§

const METHOD: Method = Method::Get

source§

impl<'a> S3Action<'a> for ListParts<'a>

source§

const METHOD: Method = Method::Get

source§

impl<'a> S3Action<'a> for PutObject<'a>

source§

const METHOD: Method = Method::Put

source§

impl<'a> S3Action<'a> for UploadPart<'a>

source§

const METHOD: Method = Method::Put

source§

impl<'a, I> S3Action<'a> for CompleteMultipartUpload<'a, I>where I: Iterator<Item = &'a str>,

source§

const METHOD: Method = Method::Post

source§

impl<'a, I> S3Action<'a> for DeleteObjects<'a, I>where I: Iterator<Item = &'a ObjectIdentifier>,

source§

const METHOD: Method = Method::Post