use reqwest;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let api_url = "http://localhost:8580";
let api_token = "sk_live_your_token_here";
let response = client
.post(format!("{}/v1/batch", api_url))
.header("Authorization", format!("Bearer {}", api_token))
.json(&json!({
"queries": [
{
"query": "INSERT INTO logs (message, level) VALUES ($1, $2)",
"params": ["Application started", "INFO"]
},
{
"query": "UPDATE users SET last_login = NOW() WHERE id = $1",
"params": [123]
},
{
"query": "SELECT COUNT(*) as total FROM users WHERE active = true",
"params": []
}
],
"database": "main"
}))
.send()
.await?;
if response.status().is_success() {
let results: serde_json::Value = response.json().await?;
println!("Batch results: {}", serde_json::to_string_pretty(&results)?);
} else {
println!("Error: {}", response.status());
println!("Response: {}", response.text().await?);
}
Ok(())
}