Skip to content

No disponible todavía

Cliente HTTP ​

Corvis no incluye un módulo de cliente HTTP (un servicio inyectable para llamar a otras APIs con configuración por módulo).

Alternativa ​

Usa un cliente HTTP de Rust, como reqwest, y compártelo como provider. Un cliente de este tipo mantiene un pool de conexiones, así que conviene crear una sola instancia:

rust
#[module(
    providers = [
        Provider::use_factory("HTTP_CLIENT", |_ctx| async move {
            Ok(reqwest::Client::builder().timeout(std::time::Duration::from_secs(5)).build()?)
        }),
        PaymentsService,
    ],
)]
pub struct PaymentsModule;

#[injectable]
pub struct PaymentsService {
    #[inject("HTTP_CLIENT")]
    http: Arc<reqwest::Client>,
}

reqwest no es una dependencia de Corvis: agrégala a tu Cargo.toml. Provider::use_factory y #[inject("TOKEN")] se explican en Providers personalizados.

Publicado bajo la licencia MIT.