pub struct Metadata { /* private fields */ }
Expand description
Metadata carries all metadata associated with a path.
§Notes
mode and content_length are required metadata that all services
should provide during stat
operation. But in list
operation,
a.k.a., Entry
’s content length could be None
.
Implementations§
source§impl Metadata
impl Metadata
sourcepub fn cache_control(&self) -> Option<&str>
pub fn cache_control(&self) -> Option<&str>
Cache control of this entry. Cache-Control is defined by RFC 7234 Refer to MDN Cache-Control for more information.
This value is only available when calling on result of stat
or list
with
[Metakey::CacheControl
], otherwise this method returns None
.
sourcepub fn set_cache_control(&mut self, v: &str) -> &mut Self
pub fn set_cache_control(&mut self, v: &str) -> &mut Self
Set cache control of this entry.
Cache-Control is defined by RFC 7234 Refer to MDN Cache-Control for more information.
sourcepub fn with_cache_control(self, v: String) -> Self
pub fn with_cache_control(self, v: String) -> Self
Set cache control of this entry.
Cache-Control is defined by RFC 7234 Refer to MDN Cache-Control for more information.
sourcepub fn content_length(&self) -> u64
pub fn content_length(&self) -> u64
Content length of this entry.
Content-Length
is defined by RFC 7230
Refer to MDN Content-Length for more information.
§Panics
This value is only available when calling on result of stat
or list
with
[Metakey::ContentLength
], otherwise it will panic.
sourcepub fn set_content_length(&mut self, v: u64) -> &mut Self
pub fn set_content_length(&mut self, v: u64) -> &mut Self
Set content length of this entry.
sourcepub fn with_content_length(self, v: u64) -> Self
pub fn with_content_length(self, v: u64) -> Self
Set content length of this entry.
sourcepub fn content_md5(&self) -> Option<&str>
pub fn content_md5(&self) -> Option<&str>
Content MD5 of this entry.
Content MD5 is defined by RFC 2616. And removed by RFC 7231.
OpenDAL will try its best to set this value, but not guarantee this value is the md5 of content.
This value is only available when calling on result of stat
or list
with
[Metakey::ContentMd5
], otherwise this method returns None
.
sourcepub fn set_content_md5(&mut self, v: &str) -> &mut Self
pub fn set_content_md5(&mut self, v: &str) -> &mut Self
sourcepub fn with_content_md5(self, v: String) -> Self
pub fn with_content_md5(self, v: String) -> Self
sourcepub fn content_type(&self) -> Option<&str>
pub fn content_type(&self) -> Option<&str>
Content Type of this entry.
Content Type is defined by RFC 9110.
This value is only available when calling on result of stat
or list
with
[Metakey::ContentType
], otherwise this method returns None
.
sourcepub fn set_content_type(&mut self, v: &str) -> &mut Self
pub fn set_content_type(&mut self, v: &str) -> &mut Self
Set Content Type of this entry.
Content Type is defined by RFC 9110.
sourcepub fn with_content_type(self, v: String) -> Self
pub fn with_content_type(self, v: String) -> Self
Set Content Type of this entry.
Content Type is defined by RFC 9110.
sourcepub fn content_encoding(&self) -> Option<&str>
pub fn content_encoding(&self) -> Option<&str>
Content Encoding of this entry.
sourcepub fn set_content_encoding(&mut self, v: &str) -> &mut Self
pub fn set_content_encoding(&mut self, v: &str) -> &mut Self
Set Content Encoding of this entry.
sourcepub fn content_range(&self) -> Option<BytesContentRange>
pub fn content_range(&self) -> Option<BytesContentRange>
Content Range of this entry.
Content Range is defined by RFC 9110.
This value is only available when calling on result of stat
or list
with
[Metakey::ContentRange
], otherwise this method returns None
.
sourcepub fn set_content_range(&mut self, v: BytesContentRange) -> &mut Self
pub fn set_content_range(&mut self, v: BytesContentRange) -> &mut Self
Set Content Range of this entry.
Content Range is defined by RFC 9110.
sourcepub fn with_content_range(self, v: BytesContentRange) -> Self
pub fn with_content_range(self, v: BytesContentRange) -> Self
Set Content Range of this entry.
Content Range is defined by RFC 9110.
sourcepub fn last_modified(&self) -> Option<DateTime<Utc>>
pub fn last_modified(&self) -> Option<DateTime<Utc>>
Last modified of this entry.
Last-Modified
is defined by RFC 7232
Refer to MDN Last-Modified for more information.
OpenDAL parse the raw value into DateTime
for convenient.
This value is only available when calling on result of stat
or list
with
[Metakey::LastModified
], otherwise this method returns None
.
sourcepub fn set_last_modified(&mut self, v: DateTime<Utc>) -> &mut Self
pub fn set_last_modified(&mut self, v: DateTime<Utc>) -> &mut Self
Set Last modified of this entry.
Last-Modified
is defined by RFC 7232
Refer to MDN Last-Modified for more information.
sourcepub fn with_last_modified(self, v: DateTime<Utc>) -> Self
pub fn with_last_modified(self, v: DateTime<Utc>) -> Self
Set Last modified of this entry.
Last-Modified
is defined by RFC 7232
Refer to MDN Last-Modified for more information.
sourcepub fn etag(&self) -> Option<&str>
pub fn etag(&self) -> Option<&str>
ETag of this entry.
ETag
is defined by RFC 7232
Refer to MDN ETag for more information.
OpenDAL will return this value AS-IS like the following:
"33a64df551425fcc55e4d42a148795d9f25f89d4"
W/"0815"
"
is part of etag.
This value is only available when calling on result of stat
or list
with
[Metakey::Etag
], otherwise this method returns None
.
sourcepub fn content_disposition(&self) -> Option<&str>
pub fn content_disposition(&self) -> Option<&str>
Content-Disposition of this entry
Content-Disposition
is defined by RFC 2616 and
clarified usage in RFC 6266.
Refer to MDN Content-Disposition for more information.
OpenDAL will return this value AS-IS like the following:
- “inline”
- “attachment”
- “attachment; filename="filename.jpg"”
This value is only available when calling on result of stat
or list
with
[Metakey::ContentDisposition
], otherwise this method returns None
.
sourcepub fn with_content_disposition(self, v: String) -> Self
pub fn with_content_disposition(self, v: String) -> Self
Set Content-Disposition of this entry
Content-Disposition
is defined by RFC 2616 and
clarified usage in RFC 6266.
Refer to MDN Content-Disposition for more information.
OpenDAL will return this value AS-IS like the following:
- “inline”
- “attachment”
- “attachment; filename="filename.jpg"”
sourcepub fn set_content_disposition(&mut self, v: &str) -> &mut Self
pub fn set_content_disposition(&mut self, v: &str) -> &mut Self
Set Content-Disposition of this entry
Content-Disposition
is defined by RFC 2616 and
clarified usage in RFC 6266.
Refer to MDN Content-Disposition for more information.
OpenDAL will return this value AS-IS like the following:
- “inline”
- “attachment”
- “attachment; filename="filename.jpg"”
sourcepub fn version(&self) -> Option<&str>
pub fn version(&self) -> Option<&str>
Version of this entry.
Version is a string that can be used to identify the version of this entry.
This field may come out from the version control system, like object versioning in AWS S3.
This value is only available when calling on result of stat
or list
with
[Metakey::Version
], otherwise this method returns None
.
sourcepub fn with_version(self, v: String) -> Self
pub fn with_version(self, v: String) -> Self
Set version of this entry.
Version is a string that can be used to identify the version of this entry.
This field may come out from the version control system, like object versioning in AWS S3.
sourcepub fn set_version(&mut self, v: &str) -> &mut Self
pub fn set_version(&mut self, v: &str) -> &mut Self
Set version of this entry.
Version is a string that can be used to identify the version of this entry.
This field may come out from the version control system, like object versioning in AWS S3.
Trait Implementations§
source§impl From<MetaData> for Metadata
Available on crate feature services-sftp
only.
impl From<MetaData> for Metadata
services-sftp
only.REMOVE ME: we should not implement From<SftpMeta> for Metadata
.
source§impl PartialEq for Metadata
impl PartialEq for Metadata
impl Eq for Metadata
impl StructuralPartialEq for Metadata
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnwindSafe for Metadata
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.