Boost logo

Boost :

From: Vinnie Falco (vinnie.falco_at_[hidden])
Date: 2022-06-09 02:57:51


On Wed, Jun 8, 2022 at 6:13 PM Gavin Lambert via Boost
<boost_at_[hidden]> wrote:
> 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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk