| Crates.io | hurley |
| lib.rs | hurley |
| version | 0.1.2 |
| created_at | 2026-01-10 14:38:19.383606+00 |
| updated_at | 2026-01-12 09:41:32.685105+00 |
| description | A curl-like HTTP client with performance testing capabilities |
| homepage | https://github.com/dursunkoc/hurley |
| repository | https://github.com/dursunkoc/hurley |
| max_upload_size | |
| id | 2034271 |
| size | 2,644,379 |
A curl-like HTTP client with performance testing capabilities, written in Rust.
-H "Content-Type: application/json"-d) or from file (-f)-L-vcargo install hurley
Or build from source:
git clone https://github.com/dursunkoc/hurley.git
cd hurley
cargo build --release
# Simple GET request
hurley https://httpbin.org/get
# POST with JSON body
hurley -X POST https://httpbin.org/post \
-H "Content-Type: application/json" \
-d '{"name": "test", "value": 123}'
# Include response headers
hurley -i https://httpbin.org/get
# Verbose output
hurley -v https://httpbin.org/get
# Follow redirects
hurley -L https://httpbin.org/redirect/3
# 100 requests with 10 concurrent connections
hurley https://httpbin.org/get -c 10 -n 100
# Performance test with dataset
hurley https://httpbin.org --perf requests.json -c 20 -n 500
# JSON output for programmatic use
hurley https://httpbin.org/get -c 5 -n 50 --output json
Create a JSON file with request definitions:
[
{"method": "GET", "path": "/users"},
{"method": "POST", "path": "/users", "body": {"name": "test"}},
{"method": "GET", "path": "/users/1", "headers": {"Authorization": "Bearer token"}}
]
The performance test output includes:
═══════════════════════════════════════════════════════════
PERFORMANCE RESULTS
═══════════════════════════════════════════════════════════
📊 Request Summary
Total Requests: 100
Successful: 98
Failed: 2
Error Rate: 2.00%
⏱️ Timing
Total Duration: 5234.12 ms
Requests/sec: 19.11
📈 Latency Distribution
Min: 45.23 ms
Max: 312.45 ms
Avg: 89.67 ms
p50 (Median): 78.34 ms
p95: 198.23 ms
p99: 287.12 ms
═══════════════════════════════════════════════════════════
ENDPOINT BREAKDOWN
═══════════════════════════════════════════════════════════
📍 GET /users
───────────────────────────────────────────────────────────
📊 Request Summary
Total Requests: 60
Successful: 60
Failed: 0
Error Rate: 0.00%
⏱️ Timing
Total Duration: 3120.45 ms
Requests/sec: 19.23
📈 Latency Distribution
Min: 45.23 ms
Max: 150.12 ms
Avg: 75.34 ms
p50 (Median): 72.10 ms
p95: 120.45 ms
p99: 140.23 ms
📍 POST /users
───────────────────────────────────────────────────────────
📊 Request Summary
Total Requests: 40
Successful: 38
Failed: 2
Error Rate: 5.00%
⏱️ Timing
Total Duration: 2113.67 ms
Requests/sec: 18.92
📈 Latency Distribution
Min: 80.12 ms
Max: 312.45 ms
Avg: 110.23 ms
p50 (Median): 95.67 ms
p95: 250.34 ms
p99: 287.12 ms
═══════════════════════════════════════════════════════════
MIT License - see LICENSE for details.
Dursun Koc - @dursunkoc