🚀 HTTP File Runner

A powerful command-line tool written in Zig that parses .http files and executes HTTP requests with beautiful colored output

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

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
zig build

Requires Zig 0.14 or later. Gives you the latest features and customization options.

Docker

docker pull christianhelle/httprunner

Run in a containerized environment without installing dependencies.

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