Requestkit
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
Installation
If you have a Ruby environment available, you can install Requestkit globally:
gem install requestkitUsage
Start 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.
Custom Port
requestkit --port 8080Persistent Storage
By 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.
Custom Database Path
requestkit --storage file --database-path ./my-project.dbConfiguration
Create 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
Available Options
| 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 |
Namespaces
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.
Help
requestkit helpLicense
Perron is released under the MIT License.
