| Crates.io | saffron-http-client |
| lib.rs | saffron-http-client |
| version | 0.1.5 |
| created_at | 2025-12-08 20:13:34.273834+00 |
| updated_at | 2025-12-09 16:46:49.759374+00 |
| description | A fast, lightweight command-line HTTP client for testing and debugging APIs |
| homepage | |
| repository | https://github.com/Vitorhenriquesilvadesa/Saffron |
| max_upload_size | |
| id | 1974332 |
| size | 43,332 |
Saffron is a fast, lightweight command-line HTTP client written in Rust. Test APIs, debug endpoints, and manage request collections β all from your terminal.
{{variables}} in URLs, headers, and body~/.saffron/From source:
git clone https://github.com/yourusername/saffron.git
cd saffron
cargo build --release
The binary will be in target/release/saffron.exe.
From crates.io (coming soon):
cargo install saffron
# Simple GET request
saffron send https://api.github.com
# POST with JSON
saffron send https://api.example.com/users `
--method POST `
--header "Content-Type: application/json" `
--body '{"name": "Alice", "email": "alice@example.com"}'
# Using environment variables
saffron env set production api_url https://api.prod.com
saffron send {{api_url}}/users
Organize related requests:
# Create collection
saffron collection new github-api
# Add request
saffron collection add github-api get-user `
--method GET `
--url https://api.github.com/users/octocat
# Run request from collection
saffron send --from-collection "github-api/get-user"
# Import from Insomnia
saffron collection import insomnia-export.json
# List all collections
saffron collection list
Manage variables across environments:
# Set variables
saffron env set development base_url https://api.dev.com
saffron env set production base_url https://api.prod.com
# Switch environments
saffron env use production
# Use in requests
saffron send {{base_url}}/users
Automatic tracking of all requests:
# List history
saffron history list
# Show details
saffron history show abc123
# Rerun a request
saffron history rerun abc123
# Clear history
saffron history clear
| Feature | Saffron | curl | Postman |
|---|---|---|---|
| CLI-first | β | β | β |
| Collections | β | β | β |
| Environments | β | β | β |
| Request History | β | β | β |
| Template Variables | β | β | β |
| Lightweight | β | β | β |
| Scriptable | β | β | β οΈ |
| Privacy | β | β | β οΈ |
| Open Source | β | β | β |
Saffron is built as a modular Rust workspace:
saffron/
βββ saffron-core # Domain models (requests, responses, collections)
βββ saffron-http # HTTP client implementation (ureq-based)
βββ saffron-data # Custom JSON parser (no external deps)
βββ saffron-cli # Command-line interface (clap-based)
βββ saffron-ui # GUI (planned)
βββ saffron-utils # Shared utilities
See Architecture for details.
Saffron has comprehensive test coverage:
# Run all tests
cargo test
# Run specific crate tests
cargo test -p saffron-core
cargo test -p saffron-http
cargo test -p saffron-data
Current test counts:
saffron-core: 82 testssaffron-data: 33 testssaffron-http: 18 testsContributions are welcome! See CONTRIBUTING.md for guidelines.
Quick checklist:
Saffron is licensed under the MIT License.
Built with these excellent Rust crates:
Made with β€οΈ and Rust