http_uri 0.0.2

This crate exports types for that represents http uri and some of it's invariants.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# http_uri

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

1. [`HttpUri`]: It guarantees uri is valid, http(s), with valid host
2. [`invariant::normal::NormalHttpUri`]: Invariant of [`HttpUri`] that guarantees, the inner uri is a normalized http uri. Check type docs for what it entails to be normal

There 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:

1. `NormalHttpUri<HttpUriSansFragment<HttpUri>>`: Invariant for http uris, which doesn't have fragment, and also in their normal form