tinyget
A tiny fork of minreq.
A simple, minimal-dependency HTTP client for Rust. It provides a clean and intuitive API for making HTTP requests with minimal overhead.
Features
- Simple and intuitive API
- Minimal dependencies
- Optional HTTPS support via native-tls
- Optional timeout support
- Small binary size
Quick Start
Add this to your Cargo.toml:
[]
= "1.1"
Basic usage:
use tinyget;
Advanced Usage
HTTPS Support
To enable HTTPS support, add the https feature:
[]
= { = "1.1", = ["https"] }
Timeout Support
To enable timeout support, add the timeout feature:
[]
= { = "1.1", = ["timeout"] }
You can set timeout in two ways:
- Per-request timeout:
let response = get
.with_timeout
.send?;
- Global timeout via environment variable:
TINYGET_TIMEOUT=5
Custom Headers
let response = get
.with_header
.send?;
Binary Size
rustc 1.76.0 (07dca489a 2024-02-04)
| debug | release | |
|---|---|---|
| hello | 424,896 | 266,547 |
| http | 772,416(+348k) | 319,856(+53k) |
| https | 1,101,512(+677k) | 344,432(+78k) |
Size Comparison
| http | https | |
|---|---|---|
| tinyget | 283,920 | 319,632 |
| minreq | 300,328 | 959,744 |
| ureq | 695,632 | 1,371,368 |
| reqwest | 1,639,496 | 1,675,032 |
Examples
Check out the examples directory for more usage examples:
- Basic HTTP request
- HTTP request with timeout
- HTTPS request
- HTTPS request with timeout
- Iterator example
License
This crate is distributed under the terms of the MIT license.