Struct UploadFileBuilder

Source
pub struct UploadFileBuilder<'a> { /* private fields */ }
Expand description

A builder to create an UploadFile request.

The file_name and sha1_checksum are required.

The combined length limit of content_disposition, content_language, expiration, cache_control, content_encoding, and custom headers is 7,000 bytes, unless self-managed encryption and/or file locks are enabled, in which case the limit is 2,048 bytes.

Implementations§

Source§

impl<'a> UploadFileBuilder<'a>

Source

pub fn file_name( self, name: impl AsRef<str>, ) -> Result<Self, FileNameValidationError>

The name of the file.

The provided name will be percent-encoded.

Source

pub fn content_type(self, content_type: impl Into<Mime>) -> Self

The MIME type of the file’s contents.

This will be returned in the Content-Type header when downloading the file.

If not specified, B2 will attempt to automatically set the content-type, defaulting to application/octet-stream if unable to determine its type.

B2-recognized content-types can be viewed here

Source

pub fn sha1_checksum(self, checksum: &'a str) -> Self

The SHA1 checksum of the file’s contents.

B2 will use this to verify the accuracy of the file upload, and it will be returned in the header X-Bz-Content-Sha1 when downloading the file.

Source

pub fn last_modified(self, time: DateTime<Utc>) -> Self

The time of the file’s last modification.

Source

pub fn content_disposition( self, disposition: ContentDisposition, ) -> Result<Self, ValidationError>

The value to use for the Content-Disposition header when downloading the file.

Note that the download request can override this value.

Source

pub fn content_language(self, language: impl Into<String>) -> Self

The value to use for the Content-Language header when downloading the file.

Note that the download request can override this value.

Source

pub fn expiration(self, expiration: Expires) -> Self

The value to use for the Expires header when the file is downloaded.

Note that the download request can override this value.

Source

pub fn cache_control(self, cache_control: CacheControl) -> Self

The value to use for the Cache-Control header when the file is downloaded.

This would override the value set at the bucket level, and can be overriden by a download request.

Source

pub fn content_encoding(self, encoding: ContentEncoding) -> Self

The value to use for the Content-Encoding header when the file is downloaded.

Note that this can be overriden by a download request.

Source

pub fn file_info(self, info: Value) -> Result<Self, ValidationError>

Set user-specified file metadata.

For the following headers, use their corresponding methods instead of setting the values here:

If any of the above are set here and via their methods, the value from the method will override the value specified here.

Any header names that do not begin with “X-Bz-Info-” will have it prepended to the supplied name.

Set a legal hold on the file.

Disable a legal hold on the file.

Source

pub fn file_retention_mode(self, mode: FileRetentionMode) -> Self

Set the file retention mode for the file.

The bucket must be File Lock-enabled and the Authorization must have Capability::WriteFileRetentions.

Source

pub fn retain_until(self, time: DateTime<Utc>) -> Self

Set the expiration date and time of a file lock.

The bucket must be File Lock-enabled and the Authorization must have Capability::WriteFileRetentions.

Source

pub fn encryption_settings(self, settings: ServerSideEncryption) -> Self

Set the encryption settings to use for the file.

Source

pub fn build(self) -> Result<UploadFile<'a>, ValidationError>

Build an UploadFile request.

Trait Implementations§

Source§

impl<'a> Default for UploadFileBuilder<'a>

Source§

fn default() -> UploadFileBuilder<'a>

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for UploadFileBuilder<'a>

§

impl<'a> RefUnwindSafe for UploadFileBuilder<'a>

§

impl<'a> Send for UploadFileBuilder<'a>

§

impl<'a> Sync for UploadFileBuilder<'a>

§

impl<'a> Unpin for UploadFileBuilder<'a>

§

impl<'a> UnwindSafe for UploadFileBuilder<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,