This is a copy of the Github readme.
Find the original on https://github.com/bestia-dev/dev_bestia_url_utf8

dev_bestia_url_utf8

Library for url utf8 encode/decode
version: 0.1.28 date: 2021-10-22 author: bestia.dev repository: GitHub

work_in_progress

Lines in Rust code Lines in Doc comments Lines in Comments Lines in examples Lines in tests

crates.io Documentation crev reviews Lib.rs License Rust dev_bestia_url_utf8

Hashtags: #rustlang #url #tutorial My projects on Github are more like a tutorial than a finished product: bestia-dev tutorials.

Motivation

Urls must be constantly encoded and decoded.
It deserves something short like the macro url!("x/y/{}", name).
This module is strictly limited to utf8 urls.
Url is made of parts, fragments or segments mostly delimited by slash "/".
They must be separately encoded/decoded, not as a whole url string.
It is impossible to guarantee that the whole string is correctly encoded/decoded.
But is possible to minimize the misuse of the String type for Url.
With the normal String it is not possible to force the developer to encode/decode.
With special wrapper types around String is possible to help the coder to write properly and not forget about it.
TODO: analyze if is possible to use more &str and Cow instead of always allocating String.
But urls are usually small and this is not a priority.

Development

I use cargo-auto for my automation tasks like cargo auto build or cargo auto doc, ...

Open-source and free as a beer

My open-source projects are free as a beer (MIT license).
I just love programming.
But I need also to drink. If you find my projects and tutorials helpful, please buy me a beer by donating to my PayPal.
You know the price of a beer in your local bar ;-)
So I can drink a free beer for your health :-)
Na zdravje! Alla salute! Prost! Nazdravlje! 🍻

//bestia.dev
//github.com/bestia-dev
//bestiadev.substack.com
//youtube.com/@bestia-dev-tutorials