A desktop HTTP server with a GUI for monitoring and inspecting incoming requests. Perfect for development, testing webhooks, and debugging HTTP clients.
- HTTP Server: Configurable HTTP server with customizable responses
- Response Configuration: Customize HTTP status codes (200, 404, 500, etc.) and response bodies
- Quick-select buttons for common status codes
- Response body templates (JSON, HTML, plain text)
- Real-time response customization without server restart
- Real-time Monitoring: View all incoming HTTP requests in a clean GUI
- Request Details: Inspect method, path, query parameters, headers, and body
- JSON Visualization: Interactive JSON tree view for JSON request bodies
- Save & Export: Copy request bodies to clipboard or save to files
- Smart Filename Generation: Automatically generates filenames based on Content-Type
- Runtime Port Configuration: Change the listening port without restarting
- Auto Port Detection: Automatically finds the first available port starting from 8080
- Error Recovery: Automatic rollback to last working port on binding errors
- Tabbed Interface: Switch between request details and response configuration
cargo install inspector-httpgit clone https://github.com/tran-engineering/inspector-http.git
cd inspector-http
cargo build --releaseSimply run the application:
inspector-httpThe application will:
- Find the first available port starting from 8080
- Start an HTTP server on that port
- Open a GUI window displaying all incoming requests
- Left Panel: Overview list of all captured requests
- Right Panel: Tabbed interface with two views:
- Request Details Tab: Detailed view of the selected request with JSON tree visualization
- Response Config Tab: Configure HTTP status codes and response bodies
- Top Panel: Port configuration (can be changed at runtime)
- Bottom Status Bar: Current server status and temporary error messages
The Response Config tab allows you to customize how the server responds to incoming requests:
- Status Codes: Set any HTTP status code (100-599) with quick-select buttons for common codes
- Response Body: Customize the response body with a multiline editor
- Templates: Quick templates for common response types (JSON success/error, HTML, plain text)
- Real-time Updates: Changes take effect immediately for new requests
A sample.http file is included with example requests. You can use it with the REST Client extension in VS Code or similar tools.
- Rust 1.70+
- GTK3 (Linux only)
- System dependencies for egui (platform-specific)
cargo buildcargo run- eframe: GUI framework (EGUI)
- hyper: HTTP server
- tokio: Async runtime
- egui_json_tree: JSON visualization
- rfd: Native file dialogs
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contributions are welcome! Please feel free to submit a Pull Request.
