TL;DR: I’ve translated Python’s
urllib.parse to D for parsing, building and transforming URLs.
You can get it from Gitlab.
URL handling is one of those things that most of the time can be done with a regex that mostly works. But sometimes
I want a just-works tool when writing D, so I translated Python’s URL handling library. The API isn’t perfect (e.g.,
url_parse distinction is a bit confusing), but it’s been tested against
multiple RFCs and had plenty of real-world battle hardening.
My translation is meant to give the same output as Python does, so I’ve translated the Python test suite as well. I
don’t plan to add any new features that aren’t in Python.
I hope someone else finds it useful.