Expand description

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

Modules

Macros

Structs

A valid, immutable http uri

Enums

An enum of requirements for a uri to be valid http uri.

Type Definitions