Struct Basic
pub struct Basic { /* private fields */ }net only.Expand description
Basic credentials.
Implementations§
§impl Basic
impl Basic
pub const fn new(username: NonEmptyStr, password: NonEmptyStr) -> Basic
pub const fn new(username: NonEmptyStr, password: NonEmptyStr) -> Basic
Creates a new Basic credential.
pub fn clone_with_new_username(&self, username: NonEmptyStr) -> Basic
pub fn clone_with_new_password(&self, password: NonEmptyStr) -> Basic
pub const fn new_insecure(username: NonEmptyStr) -> Basic
pub const fn new_insecure(username: NonEmptyStr) -> Basic
Creates a new Basic credential.
pub fn with_username(self, username: NonEmptyStr) -> Basic
pub fn with_username(self, username: NonEmptyStr) -> Basic
Set or overwrite the username with the given value.
pub fn set_username(&mut self, username: NonEmptyStr) -> &mut Basic
pub fn set_username(&mut self, username: NonEmptyStr) -> &mut Basic
Set or overwrite the username with the given value.
pub fn password(&self) -> Option<&str>
pub fn password(&self) -> Option<&str>
View the decoded password.
If Some(str) is returned it is guaranteed to be non-empty.
pub fn with_password(self, password: NonEmptyStr) -> Basic
pub fn with_password(self, password: NonEmptyStr) -> Basic
Set or overwrite the password with the given value.
pub fn set_password(&mut self, password: NonEmptyStr) -> &mut Basic
pub fn set_password(&mut self, password: NonEmptyStr) -> &mut Basic
Set or overwrite the password with the given value.
Turn itself into a StaticAuthorizer, so it can be used to authorize.
Just a shortcut, QoL.
Trait Implementations§
§impl<T> AuthoritySync<Basic, T> for Basicwhere
T: UsernameLabelParser,
impl<T> AuthoritySync<Basic, T> for Basicwhere
T: UsernameLabelParser,
true if the credentials are authorized, otherwise false.§impl Credentials for Basic
impl Credentials for Basic
§impl From<Basic> for HttpAuthorizer<StaticAuthorizer<Basic>, Basic>
impl From<Basic> for HttpAuthorizer<StaticAuthorizer<Basic>, Basic>
§fn from(value: Basic) -> HttpAuthorizer<StaticAuthorizer<Basic>, Basic>
fn from(value: Basic) -> HttpAuthorizer<StaticAuthorizer<Basic>, Basic>
§impl From<Basic> for ProxyCredential
impl From<Basic> for ProxyCredential
§fn from(basic: Basic) -> ProxyCredential
fn from(basic: Basic) -> ProxyCredential
§impl From<Basic> for Socks5Auth
impl From<Basic> for Socks5Auth
§fn from(value: Basic) -> Socks5Auth
fn from(value: Basic) -> Socks5Auth
§impl From<Basic> for UserInfo
impl From<Basic> for UserInfo
§Spec divergence
Basic only rejects raw \r / \n / NUL bytes in its validation,
while UserInfo’s own TryFrom enforces the full RFC 3986 §3.2.1
userinfo grammar (rejects raw @, space, gen-delims, malformed pct,
pct-decoded control bytes). So this From impl can produce a
UserInfo containing bytes that UserInfo::try_from would
reject — Basic::new("user@host", "pw")? round-tripped through
this conversion will emit user@host:pw and serialize into a URI
authority that the parser then refuses to re-read.
This is deliberate (the conversion is infallible by trait
signature), and the planned follow-up is to drop UserInfo in
favour of a relaxed Basic altogether (see the type-level docs
for the migration plan). For now, callers that need the round-trip
guarantee should validate through UserInfo::try_from first.
§impl TryFrom<&UserInfo> for Basic
impl TryFrom<&UserInfo> for Basic
§impl TryFrom<UserInfo> for Basic
impl TryFrom<UserInfo> for Basic
impl Eq for Basic
impl Extension for Basic
impl NetExtension for Basic
Auto Trait Implementations§
impl Freeze for Basic
impl RefUnwindSafe for Basic
impl Send for Basic
impl Sync for Basic
impl Unpin for Basic
impl UnsafeUnpin for Basic
impl UnwindSafe for Basic
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,
§impl<A, C, L> Authority<C, L> for A
impl<A, C, L> Authority<C, L> for A
true if the credentials are authorized, otherwise false.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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.§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<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> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.
§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