Struct Dir
pub struct Dir<'a> { /* private fields */ }std only.Expand description
A directory.
Implementations§
§impl<'a> Dir<'a>
impl<'a> Dir<'a>
pub const fn new(path: &'a str, entries: &'a [DirEntry<'a>]) -> Dir<'a>
Available on crate features grpc and http only.
pub const fn new(path: &'a str, entries: &'a [DirEntry<'a>]) -> Dir<'a>
grpc and http only.Create a new Dir.
pub fn path(&self) -> &'a Path
Available on crate features grpc and http only.
pub fn path(&self) -> &'a Path
grpc and http only.The full path for this Dir, relative to the directory passed to
include_dir.
pub const fn entries(&self) -> &'a [DirEntry<'a>]
Available on crate features grpc and http only.
pub const fn entries(&self) -> &'a [DirEntry<'a>]
grpc and http only.The entries within this Dir.
pub fn files(&self) -> impl Iterator<Item = &'a File<'a>> + 'a
Available on crate features grpc and http only.
pub fn files(&self) -> impl Iterator<Item = &'a File<'a>> + 'a
grpc and http only.Get a list of the files in this directory.
pub fn dirs(&self) -> impl Iterator<Item = &'a Dir<'a>> + 'a
Available on crate features grpc and http only.
pub fn dirs(&self) -> impl Iterator<Item = &'a Dir<'a>> + 'a
grpc and http only.Get a list of the sub-directories inside this directory.
pub fn get_entry<S>(&self, path: S) -> Option<&'a DirEntry<'a>>
Available on crate features grpc and http only.
pub fn get_entry<S>(&self, path: S) -> Option<&'a DirEntry<'a>>
grpc and http only.Recursively search for a DirEntry with a particular path.
pub fn get_file<S>(&self, path: S) -> Option<&'a File<'a>>
Available on crate features grpc and http only.
pub fn get_file<S>(&self, path: S) -> Option<&'a File<'a>>
grpc and http only.Look up a file by name.
pub fn get_dir<S>(&self, path: S) -> Option<&'a Dir<'a>>
Available on crate features grpc and http only.
pub fn get_dir<S>(&self, path: S) -> Option<&'a Dir<'a>>
grpc and http only.Look up a dir by name.
pub fn contains<S>(&self, path: S) -> bool
Available on crate features grpc and http only.
pub fn contains<S>(&self, path: S) -> bool
grpc and http only.Does this directory contain path?
pub fn extract<S>(&self, base_path: S) -> Result<(), Error>
Available on crate features grpc and http only.
pub fn extract<S>(&self, base_path: S) -> Result<(), Error>
grpc and http only.Create directories and extract all files to real filesystem.
Creates parent directories of path if they do not already exist.
Fails if some files already exist.
In case of error, partially extracted directory may remain on the filesystem.
§Security
This method validates that all entry paths are relative, do not escape the extraction directory through path traversal, and do not follow symlinks outside the extraction directory.
Trait Implementations§
impl<'a> StructuralPartialEq for Dir<'a>
Auto Trait Implementations§
impl<'a> Freeze for Dir<'a>
impl<'a> RefUnwindSafe for Dir<'a>
impl<'a> Send for Dir<'a>
impl<'a> Sync for Dir<'a>
impl<'a> Unpin for Dir<'a>
impl<'a> UnsafeUnpin for Dir<'a>
impl<'a> UnwindSafe for Dir<'a>
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<V, F> ValueFormatter<&V> for F
impl<V, F> ValueFormatter<&V> for F
§fn format_value(writer: impl ValueWriter, value: &&V)
fn format_value(writer: impl ValueWriter, value: &&V)
value to writer§impl<V, F> ValueFormatter<Arc<V>> for F
impl<V, F> ValueFormatter<Arc<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Arc<V>)
fn format_value(writer: impl ValueWriter, value: &Arc<V>)
value to writer§impl<V, F> ValueFormatter<Box<V>> for F
impl<V, F> ValueFormatter<Box<V>> for F
§fn format_value(writer: impl ValueWriter, value: &Box<V>)
fn format_value(writer: impl ValueWriter, value: &Box<V>)
value to writer§impl<V, F> ValueFormatter<Cow<'_, V>> for F
impl<V, F> ValueFormatter<Cow<'_, V>> for F
§fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
fn format_value(writer: impl ValueWriter, value: &Cow<'_, V>)
value to writer§impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
impl<V, F> ValueFormatter<Option<V>> for Fwhere
F: ValueFormatter<V> + ?Sized,
§fn format_value(writer: impl ValueWriter, value: &Option<V>)
fn format_value(writer: impl ValueWriter, value: &Option<V>)
value to writer