On Sun, Aug 21, 2022 at 7:15 AM Rainer Deyke via Boost
- The lack of IRI support is unfortunate. It's 2022; we should all be writing software with Unicode support by default. However, this can be built on top of Boost.URL, and isn't needed in all cases.
We will probably add something to parse an IRI but in all likelihood it would convert it to UTF-8 as a regular URL. I don't know if I have the stomach for a total duplication of the existing library except names like iri_view, iri, static_iri, the duplication of all the segments and params containers, and the modification of all those mutating algorithms to support Unicode. I'm not even sure that it is called for, given that IRIs are for more user-facing purposes. Such things cannot be submitted in HTTP requests, and as far as I know, unicode host names would need to be converted to punycode anyway (which we could do) to submit them to a DNS server.
- The "string+offsets" implementation means that a lot of characters need to be copied every time something at the left end of a long URL is modified.
Yep! Thanks for noticing that :) Was it the right implementation choice? I sure hope so, but we won't know for sure without field experience. And I hope we get lots of it, as I am already writing new libraries whose containers use this same model.
Yes, but I did find a few errors that should be fixed. One of the examples on https://master.url.cpp.al/url/containers/authority.html does not match the text. I have to admit I skipped over the customization section.
Happy to have any issues reported in the repository. The Customization section is only aimed for the most advanced users, so no loss there. Thank you for taking the time to review the library. Regards