Message 14444 - Python tracker (original) (raw)

Logged In: YES user_id=261020

Thanks!

It seems .reduce_uri() tries to cope with hostnames as well as absoluteURIs. I don't understand why it wants to do that, but it fails, because it doesn't anticipate what urlparse does when a port is present:

urlparse.urlparse("foo.bar.com") ('', '', 'foo.bar.com', '', '', '') urlparse.urlparse("foo.bar.com:80") ('foo.bar.com', '', '80', '', '', '')

I haven't checked, but I assume it's just incorrect use of urlparse to pass it a hostname.

Of course, if it's "fixed" to only accept absoluteURIs, it will break existing code, so I guess it must be fixed for hostnames. :-((

Also, I think .is_suburi("/foo/spam", "/foo/eggs") should return False, but returns True, and .http_error_40x() use req.get_host() when they should be using req.get_full_url() (from a quick look at RFC 2617).