pub enum StarError {
OrderNotFound(String),
OrderCancelled(String),
OrderExpired(String),
MaxRenewalsReached {
order_id: String,
max: u32,
},
MaxOrdersReached {
limit: usize,
},
InvalidInterval {
requested: u64,
min: u64,
max: u64,
},
IssuanceError(String),
DatabaseError(String),
}Expand description
Errors from STAR order and certificate operations.
Maps to the problem document types defined in RFC 8739 §3.4.
Variants§
OrderNotFound(String)
The requested STAR order does not exist.
OrderCancelled(String)
The STAR order has been cancelled by the subscriber or IdO.
RFC 8739 §3.1.1: a cancelled order MUST NOT issue further certificates.
OrderExpired(String)
The STAR order has exceeded its lifetime window.
MaxRenewalsReached
The maximum number of renewals for this order has been reached.
RFC 8739 §3.1: auto-renewal-end-date determines when renewals stop.
MaxOrdersReached
The server has reached its maximum number of active STAR orders.
This is a resource-exhaustion guard configured via [star].max_active_orders.
InvalidInterval
The requested renewal interval is outside the configured bounds.
RFC 8739 §3.1: the server advertises acceptable interval ranges.
IssuanceError(String)
Certificate issuance failed during renewal.
DatabaseError(String)
Database or storage operation failed.
Trait Implementations§
Source§impl Error for StarError
impl Error for StarError
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
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for StarError
impl RefUnwindSafe for StarError
impl Send for StarError
impl Sync for StarError
impl Unpin for StarError
impl UnsafeUnpin for StarError
impl UnwindSafe for StarError
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
§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