Enum Problem
pub enum Problem {
Show 25 variants
AccountDoesNotExist(String),
AlreadyRevoked(String),
BadCSR(String),
BadNonce(String),
BadPublicKey(String),
BadRevocationReason(String),
BadSignatureAlgorithm(String),
Caa(String),
Compound(String),
Connection(String),
Dns(String),
ExternalAccountRequired(String),
IncorrectResponse(String),
InvalidContact(String),
Malformed(String),
OrderNotReady(String),
RateLimited(String),
RejectedIdentifier(String),
ServerInternal(String),
Tls(String),
Unauthorized(String),
UnsupportedContact(String),
UnsupportIdentifier(String),
UserActionRequired(String),
Other(RawProblemResponse),
}
Expand description
Problem types used by acme server, as described in rfc8555 section 6.7
Variants§
AccountDoesNotExist(String)
The request specified an account that does not exist
AlreadyRevoked(String)
The request specified a certificate to be revoked that has already been revoked
BadCSR(String)
The CSR is unacceptable (e.g., due to a short key)
BadNonce(String)
The client sent an unacceptable antireplay none
BadPublicKey(String)
The JWS was signed by a public key the server does not support
BadRevocationReason(String)
The revocation reason provided is not allowed by the server
BadSignatureAlgorithm(String)
The JWS was signed with an algorithm the server does not support
Caa(String)
Certification Authority Authorization (CAA) records forbid the CA from issuing a certificate
Compound(String)
Specific error conditions are indicated in the “subproblems” array
Connection(String)
The server could not connect to validation target
Dns(String)
There was a problem with a DNS query during identifier validation
ExternalAccountRequired(String)
The request must include a value for the “externalAccountBinding” field
IncorrectResponse(String)
Response received didn’t match the challenge’s requirements
InvalidContact(String)
A contact URL for an account was invalid
Malformed(String)
The request message was malformed
OrderNotReady(String)
The request attempted to finalize an order that is not ready to be finalized
RateLimited(String)
The request exceeds a rate limit
RejectedIdentifier(String)
The server will not issue certificates for the identifier
ServerInternal(String)
The server experienced an internal error
Tls(String)
The server received a TLS error during validation
The client lacks sufficient authorization
UnsupportedContact(String)
A contact URL for an account used an unsupported protocol scheme
UnsupportIdentifier(String)
An identifier is of an unsupported type
UserActionRequired(String)
Visit the “instance” URL and take actions specified there
Other(RawProblemResponse)
Other errors are possible since list in rfc in non exhaustive
Trait Implementations§
§impl<'de> Deserialize<'de> for Problem
impl<'de> Deserialize<'de> for Problem
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Problem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Problem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Error for Problem
impl Error for Problem
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
§impl From<Problem> for ClientError
impl From<Problem> for ClientError
§fn from(value: Problem) -> ClientError
fn from(value: Problem) -> ClientError
§impl Serialize for Problem
impl Serialize for Problem
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for Problem
impl StructuralPartialEq for Problem
Auto Trait Implementations§
impl Freeze for Problem
impl RefUnwindSafe for Problem
impl Send for Problem
impl Sync for Problem
impl Unpin for Problem
impl UnwindSafe for Problem
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<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<Error> ErrorExt for Error
impl<Error> ErrorExt for Error
§fn context<M>(self, context: M) -> OpaqueError
fn context<M>(self, context: M) -> OpaqueError
§fn with_context<C, F>(self, context: F) -> OpaqueError
fn with_context<C, F>(self, context: F) -> OpaqueError
§fn backtrace(self) -> OpaqueError
fn backtrace(self) -> OpaqueError
§fn into_opaque(self) -> OpaqueError
fn into_opaque(self) -> OpaqueError
OpaqueError
. Read more§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> 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> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
type Error = <U as RamaTryFrom<T>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
type Error = <U as RamaTryFrom<T>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T> ToSmolStr for T
impl<T> ToSmolStr for T
fn to_smolstr(&self) -> SmolStr
§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.