🚀 HTTP File Runner

A simple command-line tool written in Rust that parses .http files and executes HTTP requests, providing colored output with emojis to indicate success or failure

Originally written in Zig, ported to Rust due to limitations in Zig's standard library HTTP client APIs for configuring insecure HTTPS connections.

Build Linux Build macOS Build Windows
httprunner
$ httprunner examples/simple.http
🚀 HTTP File Runner - Processing file: examples/simple.http
Found 4 HTTP request(s)
✅ GET https://httpbin.org/status/200 - Status: 200
❌ GET https://httpbin.org/status/404 - Status: 404
✅ GET https://api.github.com/zen - Status: 200
✅ GET https://jsonplaceholder.typicode.com/users/1 - Status: 200
Summary: 3/4 requests succeeded

Features

📁

Multiple Files

Process multiple .http files in a single run or discover all files recursively

🔍

Auto Discovery

Find and execute all .http files in your project with --discover mode

📝

Verbose Output

Detailed request and response information for debugging and analysis

📋

Logging

Save all output to files for CI/CD integration and reporting

🎯

Assertions

Validate status codes, response body content, and headers

🔧

Variables

Use variables and environment files for flexible configuration

🔗

Request Variables

Chain requests by passing data between HTTP calls

Installation

Cargo (Crates.io)

Rust
cargo install httprunner

For users with Rust tooling installed. Compiles and installs from Crates.io.

Manual Download

Download the appropriate binary for your platform (Linux, macOS x86_64/ARM64, Windows) and extract to your PATH.

Snap Store

sudo snap install httprunner

Easy installation on Linux systems with snap support.

Build from Source

git clone https://github.com/christianhelle/httprunner.git
cd httprunner
cargo build --release

Requires Rust 1.70 or later. Gives you the latest features and customization options.

Docker

docker pull christianhelle/httprunner

Run in a containerized environment without installing dependencies.

🚀 GitHub Codespaces

Pre-configured development environment with Rust and VS Code ready to go.

Quick Start

Basic Usage

# Run a single .http file httprunner requests.http # Run with verbose output httprunner requests.http --verbose # Discover and run all .http files httprunner --discover # Run with logging httprunner requests.http --log results.txt

Sample .http File

# Simple GET request GET https://api.github.com/users/octocat # POST with headers and body POST https://httpbin.org/post Content-Type: application/json { "name": "test", "value": 123 }

Ready to dive deeper?

Read the Complete Guide