# `ImagePipe.Source.Response`
[🔗](https://github.com/hlindset/image_pipe/blob/v0.2.0/image_pipe/lib/image_pipe/source/response.ex#L1)

Source bytes returned by an `ImagePipe.Source` adapter.

Exactly one of `stream` or `path` must be present. Streams are consumed
lazily and must release their resources when enumeration halts. Adapters
opening resources before enumeration also supply an idempotent `close`
function. `Source.with_fetched/3` closes it even when no body is consumed.

# `t`

```elixir
@type t() :: %ImagePipe.Source.Response{
  close: (-&gt; :ok) | nil,
  origin: ImagePipe.Source.Origin.t() | nil,
  path: Path.t() | nil,
  stream: Enumerable.t() | nil
}
```

# `close`

Releases a response obtained directly through Source.fetch/3.

---

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