Struct file_with_meta::FileHttpMetadata
source · #[non_exhaustive]pub struct FileHttpMetadata {
pub format: MetadataFormat,
pub file_size: u64,
pub file_mtime: u64,
pub hdr_last_modified: Option<String>,
pub hdr_etag: Option<String>,
pub source_file_size: Option<u64>,
pub source_file_mtime: Option<u64>,
pub verified: bool,
}
Expand description
Information about a single file’s last modification time and, if specified, some relevant HTTP headers returned by the server that the file was fetched from.
Fields (Non-exhaustive)
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.format: MetadataFormat
The version of the metadata as stored in a JSON string.
file_size: u64
The size of the file.
file_mtime: u64
The modification time of the file as a Unix timestamp.
hdr_last_modified: Option<String>
The “Last-Modified” header as returned by an HTTP server.
hdr_etag: Option<String>
The “ETag” header as returned by an HTTP server.
source_file_size: Option<u64>
The size of the source file if applicable.
source_file_mtime: Option<u64>
The modification time of the source file if applicable.
verified: bool
A hook for external users to store information about whether the file’s contents has been validated.
Implementations
sourceimpl FileHttpMetadata
impl FileHttpMetadata
sourcepub fn from_file<P>(path: P) -> Result<Self, Error>where
P: AsRef<Path>,
pub fn from_file<P>(path: P) -> Result<Self, Error>where
P: AsRef<Path>,
Examine an existing file and return a metadata structure recording its size and last modification time.
Errors
Error::Examine
if the file cannot be examined.
sourcepub fn from_file_with_source<P1, P2>(path: P1, src: P2) -> Result<Self, Error>where
P1: AsRef<Path>,
P2: AsRef<Path>,
pub fn from_file_with_source<P1, P2>(path: P1, src: P2) -> Result<Self, Error>where
P1: AsRef<Path>,
P2: AsRef<Path>,
Examine an existing file and return a metadata structure recording its size and last modification time, as well as that of the specified “source” file.
Errors
Propagates errors from Self::from_file
and mtime_to_unix
.
Error::Examine
if the source file cannot be examined.
sourcepub fn from_file_with_source_meta<P>(
path: P,
src_meta: &Self
) -> Result<Self, Error>where
P: AsRef<Path>,
pub fn from_file_with_source_meta<P>(
path: P,
src_meta: &Self
) -> Result<Self, Error>where
P: AsRef<Path>,
Examine an existing file and return a metadata structure recording its size and last modification time, as well as the previously-stored one for a “source” file.
Errors
Propagates errors from Self::from_file
.
sourcepub fn parse(contents: &str) -> Result<Self, Error>
pub fn parse(contents: &str) -> Result<Self, Error>
Parse a metadata structure from the supplied JSON string. Verify the version specified in the “format” element, do not even attempt to parse unknown versions.
Errors
Error::Parse
if the JSON data cannot be parsed.
Error::FormatVersionMajor
on unexpected format.version.major values.