#[non_exhaustive]pub enum ProxyError {
Show 18 variants
DirectAdapterMismatch,
UpstreamUnreachable {
url: Url,
source: Error,
},
AdapterNotFound {
path: String,
method: Method,
},
BodyTooLarge {
limit_bytes: u64,
},
InvalidJson {
source: Error,
},
SsePartialFrame {
reason: String,
},
UnsurfacedPii {
field_path: String,
},
UnprovenCoverage,
Refused {
refusal: BoundaryRefusal,
},
Pipeline {
source: Error,
},
Server {
source: Error,
},
DaemonAlreadyRunning {
pid: u32,
pidfile: PathBuf,
},
DaemonStopTimeout {
pid: u32,
timeout: Duration,
},
DaemonNotRunning,
DaemonPidfileStale {
pidfile: PathBuf,
},
DaemonIo {
path: PathBuf,
source: Error,
},
DaemonConfig {
detail: String,
},
DaemonExitedEarly {
code: Option<i32>,
stderr_file: PathBuf,
},
}Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DirectAdapterMismatch
The configured direct adapter was removed or replaced in the public adapter list. Readiness requires the original allocation, even for a same-origin replacement.
UpstreamUnreachable
AdapterNotFound
BodyTooLarge
InvalidJson
SsePartialFrame
UnsurfacedPii
A legacy-path request carried PII in a position no adapter surface covered.
Raised by the outbound request residual re-scan, which fails closed rather than
silently rewriting provider-owned fields. The variant carries the JSON field path
ONLY – never the detected value, nor any substring of it – so neither Display,
Debug, nor any log line derived from them can egress protected bytes.
UnprovenCoverage
A request reached the legacy path under a contract that claims codec-proved coverage.
The contract and the router disagree, so no coverage mechanism is known to have run. Proxying under an unproven coverage claim is exactly the failure this policy exists to prevent, so the request is refused.
Refused
The request carried text the configured protection refused to forward.
Carries the typed gaze::ProtectionError and suspect classes only, never the text.
Fields
refusal: BoundaryRefusalPipeline
Server
DaemonAlreadyRunning
DaemonStopTimeout
Graceful termination did not complete within the configured timeout. The live daemon retains its pidfile; the diagnostic carries no path or input.
DaemonNotRunning
DaemonPidfileStale
DaemonIo
DaemonConfig
DaemonExitedEarly
The detached daemon child exited before it could serve.
The child resolves the configured policy, so its early exit is normally a fail-closed policy load. Reporting that as a successful start is what let an unloadable policy look like a running chokepoint.
Trait Implementations§
Source§impl Debug for ProxyError
impl Debug for ProxyError
Source§impl Display for ProxyError
impl Display for ProxyError
Source§impl Error for ProxyError
impl Error for ProxyError
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 !RefUnwindSafe for ProxyError
impl !UnwindSafe for ProxyError
impl Freeze for ProxyError
impl Send for ProxyError
impl Sync for ProxyError
impl Unpin for ProxyError
impl UnsafeUnpin for ProxyError
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<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> ⓘ
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more