Local HTTP request toolkit for development. Test Stripe webhooks, GitHub hooks or any HTTP endpoint locally. Your data stays private, works offline and runs fast without network latency.
Sponsored By Rails Designer
If you have a Ruby environment available, you can install Requestkit globally:
gem install requestkitStart the server:
requestkitThis starts Requestkit on http://localhost:4000. Send any HTTP request to test:
curl -X POST http://localhost:4000/stripe/webhook \
-H "Content-Type: application/json" \
-d '{"event": "payment.succeeded", "amount": 2500}'Open http://localhost:4000 in your browser to see all captured requests with headers and body.
requestkit --port 8080By default, requests are stored in memory and cleared when you stop the server. Use file storage to persist across restarts:
requestkit --storage fileRequests are saved to ~/.config/requestkit/requestkit.db.
requestkit --storage file --database-path ./my-project.dbCreate a configuration file to set defaults:
User-wide settings (~/.config/requestkit/config.yml):
port: 5000
storage: fileProject-specific settings (./.requestkit.yml):
storage: memory
default_namespace: my-rails-appConfiguration precedence: CLI flags > project config > user config > defaults
| Option | Description | Default |
|---|---|---|
port |
Server port | 4000 |
storage |
Storage type: memory or file |
memory |
database_path |
Database file location | ~/.config/requestkit/requestkit.db |
default_namespace |
Default namespace for root requests | default |
Requestkit automatically organizes requests by namespace using the first path segment:
# Namespace: stripe
curl http://localhost:4000/stripe/payment-webhook
# Namespace: github
curl http://localhost:4000/github/push-eventFilter by namespace in the web UI. Requests to / use the default_namespace from your config.
requestkit helpPerron is released under the MIT License.
