# `AccessGrid.HttpFailure`
[🔗](https://github.com/Access-Grid/accessgrid-ex/blob/main/lib/access_grid/http_failure.ex#L1)

Represents an HTTP request failure.

This covers both transport-level failures (connection refused, timeout) and
HTTP error responses (4xx, 5xx status codes).

This is a struct, not an exception. All HTTP client implementations must
normalize their errors to this struct.

# `t`

```elixir
@type t() :: %AccessGrid.HttpFailure{
  body_decoded: term() | nil,
  body_raw: binary() | nil,
  content_type: String.t() | nil,
  message: String.t() | nil,
  original: term(),
  reason: atom(),
  status: integer() | nil
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
