pub struct ProblemDetails {
pub type_uri: String,
pub title: String,
pub status: u16,
pub detail: Option<String>,
pub instance: Option<String>,
pub reason_class: String,
pub retryable: bool,
pub self_healing: Option<bool>,
pub resolution: Option<String>,
}Expand description
CLEANLIB-536: RFC 9457 application/problem+json problem document (reader
side). Mirrors cleanlib-app::problem::ProblemDetails as a TOLERANT reader —
every field is defaulted and unknown members are ignored (no
deny_unknown_fields), so a new App extension never breaks parsing. Standard
RFC 9457 members (type/title/status/detail/instance) plus the
CLEANLIB-536 extensions.
Fields§
§type_uri: StringThe type URI (https://cleanlibrary.dev/problems/<slug>). The RFC 9457
primary identifier; presence marks a well-formed problem document.
title: StringShort human-readable summary.
status: u16HTTP status echoed in the body.
detail: Option<String>Longer human-readable explanation (optional per RFC 9457).
instance: Option<String>URI identifying the specific occurrence (optional).
reason_class: StringMachine-stable branch key (not_ingested / dependency_degraded /
permanently_blocked / service_unavailable). Prefer this over status
for programmatic branching.
retryable: boolWhether retrying the SAME request could succeed.
self_healing: Option<bool>Present when the App is actively self-healing the degraded dependency.
resolution: Option<String>Suggested caller action for permanently-blocked / actionable problems.
Trait Implementations§
Source§impl Clone for ProblemDetails
impl Clone for ProblemDetails
Source§fn clone(&self) -> ProblemDetails
fn clone(&self) -> ProblemDetails
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more