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

This module tree exports types for invariants of uri components

This module tree exports concrete compound invariants of crate::HttpUri.

Macros

Structs

A type representing valid http uri

Enums

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

Type Definitions