typestar

Códigos de estado y fallas en Rust

Un 404 es una petición exitosa con un estado no exitoso — maneja ambos.

#[tokio::main]
async fn main() {
    match reqwest::get("https://typestar.io/missing").await {
        Ok(response) => {
            let code = response.status();
            println!("{} success={}", code, code.is_success());
            match response.error_for_status() {
                Ok(_) => println!("body is usable"),
                Err(e) => println!("bad status: {e}"),
            }
        }
        Err(e) => println!(
            "transport failed: timeout={} connect={}",
            e.is_timeout(),
            e.is_connect()
        ),
    }
}

Cómo funciona

  1. status() reporta lo que dijo el servidor.
  2. error_for_status convierte 4xx y 5xx en un Err.
  3. is_timeout e is_connect clasifican las fallas de transporte.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
407
Tokens
114
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 62 segundos.

Escribe este fragmento

Paso 4 de 5 en Peticiones con reqwest; paso 10 de 12 en Herramientas CLI y clientes HTTP.

← Anterior Siguiente →