pub trait ForgeWebhook:
Send
+ Sync
+ 'static {
// Required methods
fn info() -> WebhookInfo;
fn execute(
ctx: &WebhookContext,
payload: Value,
) -> Pin<Box<dyn Future<Output = Result<WebhookResult, ForgeError>> + Send + '_>>;
}Expand description
Trait for FORGE webhook handlers.
Webhooks are HTTP endpoints that receive external events (e.g., from Stripe, GitHub). They support signature validation, idempotency, and bypass authentication.
Required Methods§
Sourcefn info() -> WebhookInfo
fn info() -> WebhookInfo
Get webhook metadata.
Sourcefn execute(
ctx: &WebhookContext,
payload: Value,
) -> Pin<Box<dyn Future<Output = Result<WebhookResult, ForgeError>> + Send + '_>>
fn execute( ctx: &WebhookContext, payload: Value, ) -> Pin<Box<dyn Future<Output = Result<WebhookResult, ForgeError>> + Send + '_>>
Execute the webhook handler.
§Arguments
ctx- Webhook context with db, http, and dispatch capabilitiespayload- The raw JSON payload from the request body
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.