[issue32779] urljoining an empty query string doesn't clear query string
Paul Fisher added the comment: Reading more into this, from section 5.2,1: > A component is undefined if its associated delimiter does not appear in the > URI reference So you could say that since there is a '?', the query component is *defined*, but *empty*. This would mean that assigning the target query to be '' has the desired effect as implemented by browsers and other languages' standard libraries. -- ___ Python tracker <https://bugs.python.org/issue32779> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue32779] urljoining an empty query string doesn't clear query string
Paul Fisher <p...@pfish.zone> added the comment: In this case, the RFC is mismatched from the actual behaviour of browsers (as described and codified by WhatWG). It was surprising to me that urljoin() didn't do what I percieved as "the right thing" (and I expect other users would too). I would personally expect urljoin to do "the thing that everybody else does". Is there a sensible way to reduce this mismatch? For reference, Java's stdlib does what I would expect here: URI base = URI.create("https://example.com/?a=b;); URI rel = base.resolve("?"); System.out.println(rel); https://example.com/? -- ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32779> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue32779] urljoining an empty query string doesn't clear query string
Paul Fisher <p...@pfish.zone> added the comment: I'm working on a patch for this and can have one up in the next week or so, once I get the CLA signed and other boxes ticked. I'm new to the Github process but hopefully it will be a good start for the discussion. -- ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32779> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue32779] urljoining an empty query string doesn't clear query string
New submission from Paul Fisher <thetorpedo...@gmail.com>: urljoining with '?' will not clear a query string: ACTUAL: >>> import urllib.parse >>> urllib.parse.urljoin('http://a/b/c?d=e', '?') 'http://a/b/c?d=e' EXPECTED: 'http://a/b/c' (optionally, with a ? at the end) WhatWG's URL standard expects a relative URL consisting of only a ? to replace a query string: https://url.spec.whatwg.org/#relative-state Seen in versions 3.6 and 2.7, but probably also affects later versions. -- components: Library (Lib) messages: 311704 nosy: Paul Fisher priority: normal severity: normal status: open title: urljoining an empty query string doesn't clear query string type: behavior versions: Python 2.7, Python 3.6 ___ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32779> ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com