#uri #lib #parser #validator #rfc2396


A library for validating strings as RFC2396-compliant URIs

5 stable releases

1.0.5 Jan 12, 2021
1.0.4 Jan 2, 2021
1.0.3 Dec 28, 2020
1.0.2 Dec 27, 2020

#3 in #uri

25 downloads per month

MIT license


RFC2396 - Rust


A Rust library for validating strings as RFC2396-compliant URIs

Crates.io version Crates.io downloads Gitlab pipeline status Gitlab code coverage Lines of code Dependents License


This project follows Semantic Versioning principals starting with 1.0.0.

Repository information

This repository is located on GitLab.com.


To use this crate, simply call one of the validate* functions, depending on your use case and desired return type:

  • validate(S) -> bool
  • validate_nom(S) -> nom::IResult<&str, &str>
  • validate_opt(S) -> Option<&str>
  • validate_res(S) -> anyhow::Result<&str>

Where S is some type that implements Into<&str>; for example, &str itself!

All functions except the _nom variant will additionally ensure that the entire input is consumed and matches exactly what was parsed internally. If you require that this check is not done (e.g. as part of a larger parsing exercise), then use the _nom variant.


This crate does not provide a data structure with which components of a URI are represented by.


~35K SLoC