[swift-users] Why can't we get `URL` equal on the same path?

Jens Alfke jens at mooseyard.com
Sat Oct 15 00:44:11 CDT 2016


> On Oct 14, 2016, at 10:20 PM, Keith Smiley <k at keith.so> wrote:
> 
> FWIW we've overridden URL's equality function in order to get a "more realistic"
> result. We lowercase everything and compare the scheme, host, port, and query,

I hope you don’t lowercase everything — the scheme and host are case-insensitive, but the rest isn’t.

> along with normalizing the path to handle cases where `/` exists in some paths
> but doesn't in others.

In your example it’s true that “apple.com <http://apple.com/>” and “apple.com/ <http://apple.com/>“ are equivalent, but in general I don’t think a URL with a trailing “/“ is equivalent to one without. (For one thing, the behavior of applying a relative URL is different.)

—Jens
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161014/cf726d0d/attachment.html>


More information about the swift-users mailing list