pub enum PathError {
TooFewSegments {
path: String,
found: usize,
},
EmptySegment {
path: String,
index: usize,
},
BadSegment {
path: String,
segment: String,
index: usize,
},
ReservedPrefix {
path: String,
prefix: String,
},
}Expand description
Failure modes when parsing a SecretPath.
Each variant maps 1:1 onto a rule from ADR-020 §2 so callers can
surface a precise message to the user (or to doctor).
Variants§
TooFewSegments
Fewer than three /-separated segments.
Two-segment paths like gitlab/token are intentionally not
allowed: they have no scope and silently encourage cross-context
reuse of credentials that should be distinct.
EmptySegment
A segment was empty (e.g. team//gitlab/token).
Fields
BadSegment
A segment did not match [a-z][a-z0-9-]*.
Fields
ReservedPrefix
The first segment is one of the reserved framework prefixes
(__* or _test) and the path was offered through a
user-facing entry point.
Trait Implementations§
Source§impl Error for PathError
impl Error for PathError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
impl Eq for PathError
impl StructuralPartialEq for PathError
Auto Trait Implementations§
impl Freeze for PathError
impl RefUnwindSafe for PathError
impl Send for PathError
impl Sync for PathError
impl Unpin for PathError
impl UnsafeUnpin for PathError
impl UnwindSafe for PathError
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.