---
name: HTTPError
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type HTTPError struct {
      Status  int
      Code    string
      Message string
  }
description: "Error HTTP estructurado para respuestas JSON. Combina status code HTTP, codigo de error legible por maquina y mensaje para el usuario."
tags: [http, error, server, json, infra]
uses_types: []
file_path: "functions/infra/http_error.go"
---

## Ejemplo

```go
err := HTTPError{
    Status:  400,
    Code:    "invalid_input",
    Message: "el campo email es requerido",
}
HTTPErrorResponse(w, err)
```

## Notas

Tipo producto — los tres campos son complementarios. Status es el codigo HTTP numerico que se usa en la respuesta. Code es un identificador maquina (snake_case) para el cliente. Message es texto libre legible por humanos. Se serializa a JSON con HTTPErrorResponse.
