aws_multipart_upload/client/request/
mod.rs

1pub use crate::abort_upload::builders::AbortMultipartUploadFluentBuilder as AbortRequestBuilder;
2pub use crate::complete_upload::builders::CompleteMultipartUploadFluentBuilder as CompleteRequestBuilder;
3pub use crate::create_upload::builders::CreateMultipartUploadFluentBuilder as CreateRequestBuilder;
4pub use crate::part_upload::builders::UploadPartFluentBuilder as UploadPartRequestBuilder;
5
6mod abort;
7pub use abort::{AbortRequest, SendAbortUpload};
8
9mod complete;
10pub use complete::{CompleteRequest, CompletedUpload, SendCompleteUpload};
11
12mod create;
13pub use create::{CreateRequest, SendCreateUpload};
14
15mod upload_part;
16pub use upload_part::{SendUploadPart, UploadPartRequest};
17
18/// Add additional properties to the request objects being sent.
19pub trait RequestBuilder {
20    /// Set additional properties on [`CreateRequestBuilder`] beyond what
21    /// [`CreateRequest`] provides.
22    ///
23    /// [`CreateRequest`]: self::create::CreateRequest
24    fn with_create_builder(&self, builder: CreateRequestBuilder) -> CreateRequestBuilder {
25        builder
26    }
27
28    /// Set additional properties on [`UploadPartRequestBuilder`] beyond what
29    /// [`UploadPartRequest`] provides.
30    ///
31    /// [`UploadPartRequest`]: self::upload_part::UploadPartRequest
32    fn with_upload_part_builder(
33        &self,
34        builder: UploadPartRequestBuilder,
35    ) -> UploadPartRequestBuilder {
36        builder
37    }
38
39    /// Set additional properties on [`CompleteRequestBuilder`] beyond what
40    /// [`CompleteRequest`] provides.
41    ///
42    /// [`CompleteRequest`]: self::complete::CompleteRequest
43    fn with_complete_builder(&self, builder: CompleteRequestBuilder) -> CompleteRequestBuilder {
44        builder
45    }
46
47    /// Set additional properties on [`AbortRequestBuilder`] beyond what
48    /// [`AbortRequest`] provides.
49    ///
50    /// [`AbortRequest`]: self::abort::AbortRequest
51    fn with_abort_builder(&self, builder: AbortRequestBuilder) -> AbortRequestBuilder {
52        builder
53    }
54}
55
56/// Default implementation of `RequestBuilder` that doesn't modify the request
57/// object at all.
58#[derive(Debug, Clone, Copy, Default)]
59pub struct DefaultRequestBuilder;
60impl RequestBuilder for DefaultRequestBuilder {}