Metadata

Struct Metadata 

Source
pub struct Metadata {
    pub is_redirect_tombstone: Option<bool>,
    pub expiration_policy: ExpirationPolicy,
    pub time_created: Option<SystemTime>,
    pub time_expires: Option<SystemTime>,
    pub content_type: Cow<'static, str>,
    pub compression: Option<Compression>,
    pub size: Option<usize>,
    pub custom: BTreeMap<String, String>,
}
Expand description

Per-object Metadata.

This includes special metadata like the expiration policy and compression used, as well as arbitrary user-provided metadata.

Fields§

§is_redirect_tombstone: Option<bool>

The object/metadata denotes a “redirect key”.

This means that this particular object is just a tombstone, and the real thing is rather found on the other backend. In practice this means that the tombstone is stored on the “HighVolume” backend, to avoid unnecessarily slow “not found” requests on the “LongTerm” backend.

§expiration_policy: ExpirationPolicy

The expiration policy of the object.

§time_created: Option<SystemTime>

The creation/last replacement time of the object, if known.

This is set by the server every time an object is put, i.e. when objects are first created and when existing objects are overwritten.

§time_expires: Option<SystemTime>

The expiration time of the object, if any, in accordance with its expiration policy.

When using a Time To Idle expiration policy, this value will reflect the expiration timestamp present prior to the current access to the object.

§content_type: Cow<'static, str>

The content type of the object, if known.

§compression: Option<Compression>

The compression algorithm used for this object, if any.

§size: Option<usize>

Size of the data in bytes, if known.

§custom: BTreeMap<String, String>

Some arbitrary user-provided metadata.

Implementations§

Source§

impl Metadata

Source

pub fn from_headers(headers: &HeaderMap, prefix: &str) -> Result<Self, Error>

Extracts metadata from the given [HeaderMap].

A prefix can be also be provided which is being stripped from custom non-standard headers.

Source

pub fn to_headers( &self, prefix: &str, with_expiration: bool, ) -> Result<HeaderMap, Error>

Turns the metadata into a [HeaderMap].

It will prefix any non-standard headers with the given prefix. If the with_expiration parameter is set, it will additionally resolve the expiration policy into a specific RFC3339 datetime, and set that as the Custom-Time header.

Trait Implementations§

Source§

impl Clone for Metadata

Source§

fn clone(&self) -> Metadata

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Metadata

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Metadata

Source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for Metadata

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Metadata

Source§

fn eq(&self, other: &Metadata) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Metadata

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for Metadata

Source§

impl StructuralPartialEq for Metadata

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,