lwuri 0.1.0

Crate for using and manipulating Uniform Resource Identifiers with a minimal memory footprint and strong typing.
Documentation
  • Coverage
  • 100%
    52 out of 52 items documented18 out of 22 items with examples
  • Size
  • Source code size: 273.46 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 24.46 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 21s Average build duration of successful builds.
  • all releases: 25s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • darconeous

lwuri: Safe, In-place URI Abstraction

Build Status Crates.io API

This crate provides safe, efficient, full-featured support for using and manipulating Uniform Resource Identifiers.

It differs significantly from the rust-url and uri in that the API was designed to allow for more control over how memory is allocated while also being more convenient to use.

What makes this crate unique is that it provides URI-specific types that have the same unsized/sized type duality that is used for &str/String, except with specific guarantees on the content, as well as convenient domain-specific methods to access the URI components. The API was designed to be easy-to-use while making as few heap allocations as possible. Most common operations require no allocations at all, and those that do are provided as a convenience rather than a fundamental requirement. For example, you can parse and fully percent-decode a URI without doing a single allocation, including iterating over percent-decoded path segments and query key-value pairs.

See the crate documentation for more information.

Usage

Add this to your Cargo.toml:

[dependencies]
lwuri = "0.1.0"

Now, you can use lwuri:

use lwuri::prelude::*;

License

lwuri is released under the Apache 2.0 license.

Copyright (c) 2019 Google LLC
Copyright (c) 2026 Voria Labs LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Disclaimer

This project was based on async-coap-uri. This is not an officially supported Google product.