reqkey 0.1.0

Official Rust SDK for ReqKey API key validation, credit metering, and analytics
Documentation
//! Plain asynchronous client usage.

use reqkey::{Client, IngestEvent};

#[tokio::main]
async fn main() -> reqkey::Result<()> {
    let client = Client::from_env()?;
    let decision = client
        .verify("consumer_key_...")
        .api_id("api_payments")
        .credits(1)
        .resource("/payments")
        .send()
        .await?;

    if decision.allowed() {
        let event = IngestEvent::builder()
            .api_id("api_payments")
            .request_id(decision.request_id.unwrap_or_default())
            .method("POST")
            .path("/payments")
            .status_code(201)
            .latency_ms(12)
            .build()?;
        client.ingest(&event).await?;
    }
    Ok(())
}