Modern Protocols
Full support for HTTP/1.1, HTTP/2, and HTTP/3 (QUIC). Automatically negotiates the best protocol or force a specific version.
Modern Protocols
Full support for HTTP/1.1, HTTP/2, and HTTP/3 (QUIC). Automatically negotiates the best protocol or force a specific version.
WebSocket Support
Connect to WebSocket servers with ws:// and wss:// URLs. Interactive mode for sending messages or script-friendly single-message mode.
cURL Compatible
Familiar command-line interface inspired by cURL. Easy migration with similar options like -H, -d, -X, -u, and more.
Built with Rust
Fast, memory-safe, and cross-platform. Single binary with no runtime dependencies.
# Simple GET requestorb https://api.example.com/users
# POST with JSON dataorb https://api.example.com/users -X POST --json '{"name": "Alice"}'
# Force HTTP/3orb https://example.com --http3
# WebSocket connectionorb wss://echo.websocket.org --ws-message "Hello!"| Feature | Orb | cURL |
|---|---|---|
| HTTP/1.1 | ✓ | ✓ |
| HTTP/2 | ✓ | ✓ |
| HTTP/3 (QUIC) | ✓ | ✓ (experimental) |
| WebSocket | ✓ | ✗ |
| JSON shorthand | --json | -H + -d |
| Progress bar | ✓ | ✓ |
| Compression | zstd, br, gzip, deflate | gzip, deflate, br |
| Cookie jar | ✓ | ✓ |
| Multipart forms | ✓ | ✓ |
| Proxy support | HTTP, SOCKS5 | HTTP, SOCKS4/5 |
| mTLS | ✓ | ✓ |
A powerful mock HTTP server library for testing Rust applications. Supports HTTP/1.1, HTTP/2, HTTP/3, and WebSockets.
use orb_mockhttp::TestServerBuilder;
let server = TestServerBuilder::new().with_tls().build();
server.on_request("/api/users") .expect_method("GET") .respond_with(200, r#"{"users": []}"#);
// Use server.url("/api/users") in your testsCLI Documentation
Learn how to use all of orb’s features. Read the CLI docs →
orb-mockhttp
Set up mock servers for testing. Read the mockhttp docs →