deboa
Description
deboa is a straightforward, non opinionated, developer-centric HTTP client library for Rust. It offers a rich array of modern features—from flexible authentication and serialization formats to runtime compatibility and middleware support—while maintaining simplicity and ease of use. It’s especially well-suited for Rust projects that require a lightweight, efficient HTTP client without sacrificing control or extensibility.
Attention
This release has a major api change. Please check the migration guide for more information.
Features
- easily add, remove and update headers
- helpers to add basic and bearer auth
- set base url only once, change it when needed
- request data only by specifying path
- set retries and timeout
- pluggable catchers (interceptors)
- pluggable compression (gzip, deflate, br)
- pluggable serialization (json, xml, msgpack)
- bora macro to easily create api clients
- cookies support
- comprehensive error handling
- runtime compatibility (tokio and smol)
- http1/2 support
Install
deboa =
Crate features
- tokio-rt (default)
- smol-rt
- http1 (default)
- http2
Usage
use ;
use JsonBody;
let client = new;
let posts: = get
.header
.bearer_auth
.go
.await?
.body_as?;
println!;
License
MIT
Author
Rogerio Pereira Araujo rogerio.araujo@gmail.com