inspector-http

Crates.ioinspector-http
lib.rsinspector-http
version0.3.2
created_at2025-10-30 13:21:26.905146+00
updated_at2025-10-30 21:39:34.337362+00
descriptionA desktop HTTP server with a GUI for monitoring and inspecting incoming requests
homepage
repositoryhttps://github.com/tran-engineering/inspector-http
max_upload_size
id1908249
size2,057,405
Khôi Tran (KeeTraxx)

documentation

README

Inspector HTTP

Logo

A desktop HTTP server with a GUI for monitoring and inspecting incoming requests. Perfect for development, testing webhooks, and debugging HTTP clients.

Screenshot

Features

  • 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

Installation

From crates.io

cargo install inspector-http

From source

git clone https://github.com/tran-engineering/inspector-http.git
cd inspector-http
cargo build --release

Usage

Simply run the application:

inspector-http

The application will:

  1. Find the first available port starting from 8080
  2. Start an HTTP server on that port
  3. Open a GUI window displaying all incoming requests

GUI Features

  • 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

Response Configuration

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

Testing

A sample.http file is included with example requests. You can use it with the REST Client extension in VS Code or similar tools.

Development

Requirements

  • Rust 1.70+
  • GTK3 (Linux only)
  • System dependencies for egui (platform-specific)

Building

cargo build

Running

cargo run

Technologies

License

Licensed under either of:

at your option.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Commit count: 0

cargo fmt