String types for IRIs (Internationalized Resource Identifiers) and URIs (Uniform Resource Identifiers).
See the documentation for details.
no_stdsupport.- String types (both owned and borrowed) for RFC 3986 URIs and RFC 3987 IRIs.
- Native slice types, so highly operable with
Cow,ToOwned, etc. - URIs/IRIs validation.
- Conversions between URIs and IRIs.
- Decomposition into components.
- Native slice types, so highly operable with
- IRI reference resolution algorithm.
- IRI normalization algorithm.
- Masking password part of an IRI (optional and not automatic).
- Percent encoding of user-provided strings.
- IRI builder.
- RFC 6570 URI Template.
alloc(enabled by default)- Enables types and functions which require memory allocation.
- Requires
stdoralloccrate available.
std(enabled by default)- Enables all
stdfeatures (such as memory allocations andstd::error::Errortrait). - Requires
stdcrate available. - This automatically enables
allocfeature.
- Enables all
memchr- Enables optimization for internal parsers, using
memchrcrate.
- Enables optimization for internal parsers, using
serde- Implements
SerializeandDeserializetraits for string types.
- Implements
CI must pass on develop and master branches.
No automated online CI is set up (since they consumes credit too fast), so run
cargo make manual-ci-all locally before committing to these branches.
On other branches, tests and some lints (such as dead_code) are allowed to
fail, but all commits must be successfully compilable and must be formatted.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE.txt or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT.txt or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.