# `Exonerate.Formats.UriReference`
[🔗](https://github.com/E-xyza/exonerate/blob/master/lib/exonerate/formats/uri_reference.ex#L1)

Module which provides a macro that generates special code for a uri filter.

the format is governed by appendix A of RFC 3986:
https://www.rfc-editor.org/rfc/rfc3986.txt

# `filter`
*macro* 

Creates a `NimbleParsec` parser `~uri-reference/1`.

This function returns `{:ok, ...}` if the passed string is a valid uri
reference, or `{:error, reason, ...}` if it is not.  See `NimbleParsec` for
more information on the return tuples.

The function will only be created once per module, and it is safe to call
the macro more than once.

## Options:
- `:name` (atom): the name of the function to create.  Defaults to
  `:"~uri-reference"`

---

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