Use casesWeb apps

Webhook receivers and async handlers

Fast-start HTTP servers, typed parsing of provider payloads, and background work via channels - verify the signature, enqueue, respond 200.

The problem

Stripe, GitHub, and Slack all POST JSON to your endpoint. You must verify signatures, ack quickly, and process asynchronously. Node handlers often block on the model call anyway; Python workers need Celery and a broker to do the same thing.

Why Ecko

Respond then process
Return http.json({ ok: true }) immediately and hand the body to a background task via background or channels. The provider gets its ack within milliseconds.
Typed event structs
Decode webhook JSON into records. A malformed or incomplete payload fails before it reaches business logic.
ecko dev reload
Iterate on handlers with ecko dev server.ecko - the server restarts on save without you managing nodemon or uvicorn reload quirks.

In practice

hook.ecko
fn stripe_webhook(req) {
  background(process_event, req.body)
  http.json({ received: true })
}

Further reading

Try it on your workload.