pub struct OAuthError {
status: StatusCode,
body: OAuthErrorBody,
dpop_nonce: Option<String>,
}Expand description
An OAuth-shaped failure: {"error", "error_description"}, per RFC 6749.
Fields§
§status: StatusCode§body: OAuthErrorBody§dpop_nonce: Option<String>The nonce a use_dpop_nonce refusal hands the client in
DPoP-Nonce.
Implementations§
Source§impl OAuthError
impl OAuthError
Sourcepub fn new(code: OAuthErrorCode, description: impl Into<String>) -> Self
pub fn new(code: OAuthErrorCode, description: impl Into<String>) -> Self
Builds a failure from its RFC 6749 error code and a human sentence.
description is never a secret and never the caller’s own submitted
content verbatim, for the same reason ApiError’s messages are safe to
return: this project puts no credential or key material into a
Display impl that a wire error could quote.
Sourcepub fn rate_limited(endpoint: &str) -> Self
pub fn rate_limited(endpoint: &str) -> Self
The 429 the unauthenticated OAuth endpoints answer a caller over
its rate with. RFC 6749 has no code for it, so this is
invalid_request with a description naming the endpoint.
Sourcepub(crate) fn description(&self) -> &str
pub(crate) fn description(&self) -> &str
The error_description the client is sent.
Sourcepub fn with_dpop_nonce(self, nonce: impl Into<String>) -> Self
pub fn with_dpop_nonce(self, nonce: impl Into<String>) -> Self
This refusal, handing the client nonce in DPoP-Nonce to sign its
retry with (RFC 9449 §8).
Trait Implementations§
Source§impl Clone for OAuthError
impl Clone for OAuthError
Source§fn clone(&self) -> OAuthError
fn clone(&self) -> OAuthError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OAuthError
impl Debug for OAuthError
Source§impl IntoResponse for OAuthError
impl IntoResponse for OAuthError
Source§fn into_response(self) -> Response
fn into_response(self) -> Response
Auto Trait Implementations§
impl Freeze for OAuthError
impl RefUnwindSafe for OAuthError
impl Send for OAuthError
impl Sync for OAuthError
impl Unpin for OAuthError
impl UnsafeUnpin for OAuthError
impl UnwindSafe for OAuthError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, S> Handler<IntoResponseHandler, S> for T
impl<T, S> Handler<IntoResponseHandler, S> for T
§fn call(
self,
_req: Request<Body>,
_state: S,
) -> <T as Handler<IntoResponseHandler, S>>::Future
fn call( self, _req: Request<Body>, _state: S, ) -> <T as Handler<IntoResponseHandler, S>>::Future
§fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>where
L: Layer<HandlerService<Self, T, S>> + Clone,
<L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,
fn layer<L>(self, layer: L) -> Layered<L, Self, T, S>where
L: Layer<HandlerService<Self, T, S>> + Clone,
<L as Layer<HandlerService<Self, T, S>>>::Service: Service<Request<Body>>,
tower::Layer] to the handler. Read more§fn with_state(self, state: S) -> HandlerService<Self, T, S>
fn with_state(self, state: S) -> HandlerService<Self, T, S>
Service] by providing the state§impl<H, T> HandlerWithoutStateExt<T> for Hwhere
H: Handler<T, ()>,
impl<H, T> HandlerWithoutStateExt<T> for Hwhere
H: Handler<T, ()>,
§fn into_service(self) -> HandlerService<H, T, ()>
fn into_service(self) -> HandlerService<H, T, ()>
Service] and no state.§fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
fn into_make_service(self) -> IntoMakeService<HandlerService<H, T, ()>>
MakeService and no state. Read more§fn into_make_service_with_connect_info<C>(
self,
) -> IntoMakeServiceWithConnectInfo<HandlerService<H, T, ()>, C>
fn into_make_service_with_connect_info<C>( self, ) -> IntoMakeServiceWithConnectInfo<HandlerService<H, T, ()>, C>
MakeService which stores information
about the incoming connection and has no state. Read more§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