Capturing webhooks
Quick answer
A CanHook catch URL accepts any HTTP method and records the full request — method, headers, raw body, parsed JSON, query string, content-type, size, and source IP — with millisecond timestamps, so you see exactly what was sent.
What gets captured?
- HTTP method (GET, POST, PUT, PATCH, DELETE, and others)
- All request headers
- Raw body and, when JSON, a pretty-printed view
- Query string and path
- Content-Type, byte size, and source IP
Source IPs behind a proxy
CanHook runs behind OpenLiteSpeed and resolves the real client IP from X-Forwarded-For only when the connecting peer is a trusted proxy, so recorded IPs can't be trivially forged.
Mock responses
By default a captured request returns 200 {"ok":true,"captured":true}. On a paid plan you can configure a custom status, body, and content-type to mimic your real endpoint.
Retention
Requests are pruned oldest-first once you exceed your plan's per-endpoint count or retention window (24h free, 7d Pro, 30d Business).