Enviar un cuerpo con POST en Rust
Un POST con JSON, encabezados y un token bearer, armado sobre la petición.
use serde::Serialize;
#[derive(Serialize)]
struct RunResult {
lang: &'static str,
tpm: u32,
accuracy: f64,
}
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let client = reqwest::Client::new();
let payload = RunResult { lang: "rust", tpm: 104, accuracy: 97.5 };
let response = client
.post("https://typestar.io/api/results")
.bearer_auth("token-goes-here")
.header("X-Client", "typestar-cli")
.json(&payload)
.send()
.await?;
println!("{}", response.status());
Ok(())
}
Cómo funciona
jsonfija el cuerpo y el content type a la vez.headeragrega un encabezado;bearer_authes el atajo.sendes donde la petición de verdad sale.
Palabras clave y builtins usados aquí
OkResultasyncawaitf64fnletstaticstrstructu32use
El intento, en números
- Líneas
- 25
- Caracteres a escribir
- 488
- Tokens
- 139
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 76 segundos.
Paso 3 de 5 en Peticiones con reqwest; paso 9 de 12 en Herramientas CLI y clientes HTTP.