# `Supabase.Fetcher.Response`

Defines a common structure to operate on HTTP responses from different
HTTP clients backends and also defines helper functions to operate this
same structure

# `t`

```elixir
@type t() :: %Supabase.Fetcher.Response{
  body: Supabase.Fetcher.body(),
  headers: Supabase.Fetcher.headers(),
  status: Supabase.Fetcher.status()
}
```

# `decode_body`

```elixir
@spec decode_body(t(), module() | nil | fun(), decoder_opts :: keyword()) ::
  Supabase.result(t())
```

Helper function to directly decode the body using a `Supabase.Fetcher.BodyDecoder`

# `get_header`

```elixir
@spec get_header(t(), String.t()) :: String.t() | nil
```

Helper function to get a specific header value from a response.

# `get_header`

```elixir
@spec get_header(t(), String.t(), String.t()) :: String.t() | nil
```

---

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