>  - Url::isSpecial() Could we come up with a better name here?
I would go with Url::isStandardBrowserUrl() or something similar. The
*special* in the WHATWG spec represents a list of specific URI schemes. It
currently contains http(s), ws(s) and file. But since it is a living
standard, if I remember correctly, at some point, the gopher scheme for
instance was also listed there and in contrast the data or the blob URI
scheme have never been listed there. So finding the right name which does
not get outdated depending on what it represents is ... special

> - So the interface doesn't cover build().  Problem solved.
And it does not cover (set)userInfo, (set)username, (set)password ...
modifiers too and depending on if validation is taken into account you may
also remove (set)host from your interface

> - Then the RFC needs to explain why we need to have both for the query
params, and how they differ.
The RFC3986 URI exposes the `raw` non normalized URI component as well as
the normalized one. The only distinction from the Query component
perspective in RFC3986 is that encoded characters need to be uppercased. So
if you want to work with the raw input untouched you will need the
getRawQuery and thus the getRawQueryParams. As I said this is already
covered in the previous RFC. Where I do agree with you
is, if after creating the UriQueryParams the result is identical, then we
may not need the getRawQueryParams method at all.

Best regards,
Ignace

Reply via email to