#[non_exhaustive]pub enum WebhookError {
InvalidSignature,
MissingSignature {
header: String,
},
TimestampExpired {
age_seconds: u64,
max_seconds: u64,
},
TimestampFuture {
future_seconds: u64,
},
DuplicateEvent {
event_id: String,
},
UnknownEvent {
event_type: String,
},
ProviderNotConfigured {
provider: String,
},
PayloadError {
message: String,
},
IdempotencyError {
message: String,
},
}Expand description
Errors that occur while receiving and validating inbound webhook requests.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidSignature
The HMAC signature on the webhook payload does not match the expected value for the shared secret.
This can indicate an invalid secret, payload tampering, or a replay from a different provider.
MissingSignature
The expected signature header was absent from the incoming request.
TimestampExpired
The webhook timestamp is older than the configured replay-window, indicating a replay attack or severe clock skew.
Fields
TimestampFuture
The webhook timestamp is further in the future than clock skew allows, suggesting a pre-generated or tampered request.
DuplicateEvent
An event with this identifier has already been successfully processed.
The event should be acknowledged (2xx) and then discarded.
UnknownEvent
The event’s type field does not correspond to any registered handler.
ProviderNotConfigured
A webhook was received from a provider that has not been configured
in fraiseql.toml.
PayloadError
The webhook request body could not be parsed (invalid JSON, unexpected schema, etc.).
The raw error message is kept server-side and a generic response is returned to the caller.
IdempotencyError
The idempotency check (deduplication store lookup or write) failed.
Implementations§
Source§impl WebhookError
impl WebhookError
Sourcepub const fn error_code(&self) -> &'static str
pub const fn error_code(&self) -> &'static str
Returns a short, stable error code string suitable for API responses and structured logging.
Trait Implementations§
Source§impl Debug for WebhookError
impl Debug for WebhookError
Source§impl Display for WebhookError
impl Display for WebhookError
Source§impl Error for WebhookError
impl Error for WebhookError
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()
Source§impl From<WebhookError> for RuntimeError
impl From<WebhookError> for RuntimeError
Source§fn from(source: WebhookError) -> Self
fn from(source: WebhookError) -> Self
Auto Trait Implementations§
impl Freeze for WebhookError
impl RefUnwindSafe for WebhookError
impl Send for WebhookError
impl Sync for WebhookError
impl Unpin for WebhookError
impl UnsafeUnpin for WebhookError
impl UnwindSafe for WebhookError
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
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