On Wed, Jun 8, 2022 at 6:13 PM Gavin Lambert via Boost
That's a decent reference for URL parsing (although it's then odd that the method names state "uri", which is how this discussion started), but it's non-obvious from that how it parses non-URL URIs.
This is all explained in the docs: https://master.url.cpp.al/url/parsing/url.html (plus the soon to be merged documentation changes which came about from these discussions)
From the RFC, I'm assuming you put the non-scheme component into the "path", but then the only valid operations are to get and set it as a single opaque unit
Right, if you want to treat the path (or query) as a single unit then the corresponding members of url_view and url are used (those in the aqua and lavender boxes). However if you want to deal with the path as a const or modifiable range of segments then you use the containers returned by the functions encoded_segments() or segments().
and it's *also* unclear from that reference card which of the path methods will do those things without trying to interpret its contents in some way. (I assume encoded_path/set_encoded_path.)
Functions with the word "set" are mutating, otherwise they are not. Functions with the word "encoded" always return percent-encoded strings. This is how things are stored natively. We should add this somewhere to the docs if it is not already there/ The Reference Card assumes some familiarity with the library and consolidates the bulk of the APIs of the library into one page for convenience. I'm experimenting with some new documentation ideas. Thanks