# `Image.Plug.Provider.Imgix`
[🔗](https://github.com/elixir-image/image_plug/blob/v0.1.0/lib/image/plug/provider/imgix.ex#L1)

Imgix URL provider.

Wires `Image.Plug.Provider.Imgix.URL` (URL recognition),
`Image.Plug.Provider.Imgix.Signing` (optional HMAC verification),
and `Image.Plug.Provider.Imgix.Options` (option parsing) into the
`Image.Plug.Provider` behaviour.

Mount under any path (typically the root of an imgix-style
subdomain). Every request under the mount is treated as a
transform request whose options come from the query string.

### Options

* `:mount` — string path prefix the plug is mounted under.
  Stripped before treating the rest as the source path. Defaults
  to `""`.

* `:strict?` — `true` (default) rejects unknown imgix option
  keys with `:unknown_option`. `false` logs and ignores them.

* `:signing` — `nil` (default; no signing) or
  `%{keys: [...], required?: bool}`. When set, every request
  URL must carry a valid `?s=<hex>` parameter. Wire format
  matches imgix's hosted signed URLs. See
  `Image.Plug.Provider.Imgix.Signing`.

### URL forms recognised

* `<mount>/<source-path>?<options>` — web-folder source.

* `<mount>/<percent-encoded-https-url>?<options>` — web-proxy
  source.

### Conformance

See `guides/imgix_conformance.md` for the per-option support
matrix and the documented gaps.

---

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