This crate exports types for that represents http uri and some of it's invariants.
All types are wrappers around [uriparse::URI
] type, and enforces their corresponding invariants
HttpUri
]: It guarantees uri is valid, http(s), with valid hostinvariant::normal::NormalHttpUri
]: Invariant of [HttpUri
] that guarantees, the inner uri is a normalized http uri. Check type docs for what it entails to be normalThere are few other invariants based on presence/absence of certain components in modules invariant::with_component::*
, invariant::sans_component::*
.
One can chain invariants, to get their desired mixin, like fallowing:
NormalHttpUri<HttpUriSansFragment<HttpUri>>
: Invariant for http uris, which doesn't have fragment, and also in their normal form