#[non_exhaustive]pub struct AdmissionRequired {
pub challenges: Vec<AdmissionChallengeEntry>,
pub description: String,
pub www_authenticate: Vec<String>,
pub payment_required: Vec<String>,
pub reason: Option<&'static str>,
}Expand description
A remote admission challenge and the bounded response headers needed by a helper.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.challenges: Vec<AdmissionChallengeEntry>Challenges in server preference order.
description: StringUntrusted server description, retained for the helper.
www_authenticate: Vec<String>Bounded WWW-Authenticate header values.
payment_required: Vec<String>Bounded PAYMENT-REQUIRED header values.
reason: Option<&'static str>Terminal admission state, if a helper already ran or hit its cap.
Implementations§
Source§impl AdmissionRequired
impl AdmissionRequired
Sourcepub fn new(
challenges: Vec<AdmissionChallengeEntry>,
description: String,
www_authenticate: Vec<String>,
payment_required: Vec<String>,
) -> Self
pub fn new( challenges: Vec<AdmissionChallengeEntry>, description: String, www_authenticate: Vec<String>, payment_required: Vec<String>, ) -> Self
Construct a remote challenge from already-bounded fields. The Connect client validates the bounds before calling this.
Sourcepub fn with_reason(self, reason: &'static str) -> Self
pub fn with_reason(self, reason: &'static str) -> Self
Add a safe terminal explanation without exposing challenge values.
Trait Implementations§
Source§impl Clone for AdmissionRequired
impl Clone for AdmissionRequired
Source§impl Debug for AdmissionRequired
impl Debug for AdmissionRequired
Source§impl Display for AdmissionRequired
impl Display for AdmissionRequired
impl Eq for AdmissionRequired
Source§impl PartialEq for AdmissionRequired
impl PartialEq for AdmissionRequired
impl StructuralPartialEq for AdmissionRequired
Auto Trait Implementations§
impl Freeze for AdmissionRequired
impl RefUnwindSafe for AdmissionRequired
impl Send for AdmissionRequired
impl Sync for AdmissionRequired
impl Unpin for AdmissionRequired
impl UnsafeUnpin for AdmissionRequired
impl UnwindSafe for AdmissionRequired
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
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,
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§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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 more