See a webhook's payload before you write the handler
Set the webhook URL to Buggregator with http-dump as the user name, for example http://http-dump@127.0.0.1:8000/webhooks/orders. Each delivery shows the full webhook payload: method, URL, headers, cookies, form data, uploaded files, and a cURL command to send it again. You see exactly what arrives before you write the handler.
Steps
1. Point the webhook at Buggregator
Buggregator takes HTTP events on port 8000, the same port as the UI. Use http-dump as the URL user name. The path is yours to choose. In Docker Compose, replace 127.0.0.1 with the Buggregator service name, for example buggregator.
# Your app sends webhooks or callbacks to this URL during development
WEBHOOK_URL=http://http-dump@127.0.0.1:8000/webhooks/orders2. Check it with a test request
Before you wait for a real delivery, send one yourself.
curl 'http://http-dump@127.0.0.1:8000/any/path?foo=bar'3. Or mark it with a header
If the sender cannot put a user name in the URL but can set a header, use X-Buggregator-Event instead.
curl 'http://127.0.0.1:8000/any/path?foo=bar' \
--header 'X-Buggregator-Event: http-dump'4. Read the payload
Open http://127.0.0.1:8000. The request shows its method, full URI, query parameters, form data, headers, cookies and uploaded files, which you can download. Search finds requests by host, method or URL.
Why it works
Buggregator treats any HTTP request marked with http-dump, by user name or header, as a dump and stores it whole. A third-party service on the internet can only reach Buggregator at a public address, so a service in the cloud cannot call your laptop's 127.0.0.1. When you need the response from a real server too, use the HTTP proxy instead.
Related tips
- HTTP
Send a captured request again with one cURL
Every request Buggregator captures comes with a ready cURL command. Copy it, paste it in a terminal, and the same request arrives again.
- HTTP
See every API call your Laravel app sends
Set global proxy options for Laravel's HTTP client in AppServiceProvider. Every Http:: request and response shows up in Buggregator. Local only.
- HTTP
See every API call your Python script makes
Route Python requests through Buggregator's HTTP proxy on port 8080. See each request and response with status code and timing. Dev only.
Checked on with Buggregator v2.8.0