#uri #lib #parser #validator #rfc2396

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

52KB
1K SLoC

RFC2396 - Rust

Overview

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

Versioning

This project follows Semantic Versioning principals starting with 1.0.0.

Repository information

This repository is located on GitLab.com.

Usage

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.

Limitations

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

Dependencies

~2MB
~35K SLoC