pub struct FilePackPath {
pub file: File,
pub pack_path: PackPath,
}
Expand description
Fields§
§file: File
The file.
pack_path: PackPath
The path inside the pack
, corresponding to http path parameter.
Implementations§
Source§impl FilePackPath
impl FilePackPath
Sourcepub fn build_from_path(
path: &Path,
base_directory_path: &Path,
file_options: &BuildFromPathOptions,
) -> Result<Self, Error>
pub fn build_from_path( path: &Path, base_directory_path: &Path, file_options: &BuildFromPathOptions, ) -> Result<Self, Error>
Creates self by reading file relative to given base directory.
Given file path (path
) to read and base directory path creates a
self by preparing:
- File with file::build_from_path using file::BuildFromPathOptions.
- PackPath with pack_path::from_file_base_relative_path (as relative
path between
path
andbase_directory_path
).
§Examples
// base directory
let base_directory = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.parent()
.ok_or_else(|| anyhow!("missing parent"))?
.join("tests")
.join("data")
.join("vcard-personal-portfolio");
// file in base/directory/path/index.html should end up as /index.html
let file_pack_path_1 = FilePackPath::build_from_path(
&base_directory.join("index.html"),
&base_directory,
&BuildFromPathOptions::default(),
)?;
assert_eq!(
file_pack_path_1.file.content_type,
"text/html; charset=utf-8"
);
assert_eq!(&*file_pack_path_1.pack_path, "/index.html");
// file in base/directory/path/website-demo-image/desktop.png should end up as /website-demo-image/desktop.png
let file_pack_path_2 = FilePackPath::build_from_path(
&base_directory.join("website-demo-image").join("desktop.png"),
&base_directory,
&BuildFromPathOptions::default(),
)?;
assert_eq!(
file_pack_path_2.file.content_type,
"image/png"
);
assert_eq!(&*file_pack_path_2.pack_path, "/website-demo-image/desktop.png");
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FilePackPath
impl RefUnwindSafe for FilePackPath
impl Send for FilePackPath
impl Sync for FilePackPath
impl Unpin for FilePackPath
impl UnwindSafe for FilePackPath
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out
indicating that a T
is niched.