Skip to main content

webhook_handler

Function webhook_handler 

Source
pub async fn webhook_handler(
    __arg0: State<WebhookIngress>,
    __arg1: Path<String>,
    headers: HeaderMap,
    body: Bytes,
) -> Response
Expand description

POST /api/webhooks/{source} — the axum front door.

Why: a thin mapping from IngestOutcome to a status code, so the ordering guarantee lives in WebhookIngress::ingest and cannot be broken by an edit to the HTTP layer. What: 404 unknown source, 401 both refusal arms, 500 spool failure, 202 once the delivery is durable. The body reports the relay state so an operator can see a pending delivery without opening the dashboard. Test: route_returns_500_and_no_ack_when_the_spool_write_fails, route_returns_401_for_an_unset_secret, route_returns_202_after_a_durable_write.