| Crates.io | deboa-extras |
| lib.rs | deboa-extras |
| version | 0.0.1-beta.2 |
| created_at | 2025-09-12 01:59:59.571809+00 |
| updated_at | 2025-09-24 10:42:01.051417+00 |
| description | deboa extras (serialization and decompression). |
| homepage | https://github.com/ararog/deboa |
| repository | https://github.com/ararog/deboa |
| max_upload_size | |
| id | 1834879 |
| size | 81,929 |
This crate provides additional features for Deboa like compression and serialization.
cargo add deboa-extras
use deboa::{Deboa, errors::DeboaError, interceptor::DeboaCatcher, request::DeboaRequest};
use deboa_extras::{
interceptor::encoding::EncodingCatcher,
io::brotli::BrotliDecompressor,
http::serde::json::JsonBody
};
let encoding_catcher = EncodingCatcher::register_decoders(vec![Box::new(BrotliDecompressor)]);
let client = Deboa::builder()
.catch(encoding_catcher)
.build()?
let posts = DeboaRequest::get("https://jsonplaceholder.typicode.com/posts/1")
.go(client)
.await?
.body_as(JsonBody)?;
println!("{:?}", posts.raw_body());
use deboa::{Deboa, errors::DeboaError, request::post};
use deboa_extras::http::serde::json::JsonBody;
let client = Deboa::new();
let data = Post {
id: 1,
title: "title".to_string(),
body: "body".to_string(),
user_id: 1,
};
let response = post("https://jsonplaceholder.typicode.com/posts/1")?
.body_as(JsonBody, data)?
.go(client)
.await?;
println!("Response Status Code: {}", response.status());
MIT
Rogerio Pereira Araujo rogerio.araujo@gmail.com