typestar

Un cliente HTTP en Go

Obtener y decodificar JSON con un timeout.

func fetchJSON(url string, out any) error {
    client := &http.Client{Timeout: 10 * time.Second}
    resp, err := client.Get(url)
    if err != nil {
        return err
    }
    defer resp.Body.Close()
    if resp.StatusCode != http.StatusOK {
        return fmt.Errorf("status %d", resp.StatusCode)
    }
    return json.NewDecoder(resp.Body).Decode(out)
}

Cómo funciona

  1. Un http.Client con Timeout evita quedarse colgado.
  2. defer resp.Body.Close() siempre lo libera.
  3. json.NewDecoder decodifica directo desde el stream.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
311
Tokens
88
Ritmo de tres estrellas
110 tpm

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

Escribe este fragmento

Paso 4 de 5 en HTTP; paso 19 de 26 en Biblioteca estándar y estructura del proyecto.

← Anterior Siguiente →