pub enum ProxyError {
NotFound(String),
Unauthenticated(String),
PermissionDenied(String),
OutOfScope(String),
InvalidArgument(String),
PreconditionFailed(String),
RangeNotSatisfiable(String),
PayloadTooLarge(String),
NotImplemented(&'static str),
Storage(Error),
Internal(String),
}server only.Expand description
An error from a storage-proxy operation.
Each variant maps to a fixed HTTP status via IntoResponse. The response
body is a small JSON envelope ({ "error": <message> }); the wasm client
keys off the status code, not the body.
Variants§
NotFound(String)
The requested object or securable does not exist. → 404.
Unauthenticated(String)
The caller is not authenticated. → 401.
PermissionDenied(String)
The caller is authenticated but not permitted for this verb/securable. → 403.
OutOfScope(String)
The request addresses a key outside the securable’s authorized scope (confused-deputy guard). → 403.
InvalidArgument(String)
The request is malformed (bad securable, unparsable header, If-Match: *). → 400.
PreconditionFailed(String)
A conditional write’s If-Match did not match the current object. → 412.
RangeNotSatisfiable(String)
The requested byte range cannot be satisfied. → 416.
PayloadTooLarge(String)
A PUT body exceeded the in-proxy buffering cap for a conditional write. → 413.
NotImplemented(&'static str)
The requested functionality is not implemented (e.g. GCP credential vending in the local arm). → 501.
Storage(Error)
An outcome from the underlying object store. Mapped to a status by
matching the object_store::Error variant (see ProxyError::storage_parts).
Internal(String)
An unexpected internal failure. → 500.
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()
Source§impl From<Error> for ProxyError
impl From<Error> for ProxyError
Source§impl IntoResponse for ProxyError
impl IntoResponse for ProxyError
Source§fn into_response(self) -> Response
fn into_response(self) -> Response
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more