# `Exonerate.Remote`
[🔗](https://github.com/E-xyza/exonerate/blob/master/lib/exonerate/remote.ex#L1)

Adapter for fetching remote content.

Use the `fetch_remote!/2` for creating your own adapters if the default
adapter is inappropriate for your use case.

Note that this module also contains overall logic for managing remote
schemas.

# `fetch_remote!`

```elixir
@spec fetch_remote!(
  URI.t(),
  keyword()
) :: {encoded_json :: String.t(), content_type :: String.t() | nil}
```

uses the `Req` library to fetch remote content.

Note that this function fails if the remote resource does not return 200, and
raises for any connection errors.

---

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