So basically scheme should be present in URL syntax. Current scheme regex
is `^(?:[a-z0-9\.\-]*)://` which allows empty schemes.
Also schemes should allow alphanumeric characters with `-`, `.` and `+`
([https://tools.ietf.org/html/rfc1738#section-2.1 rfc1738]).
--
Ticket URL: <https://code.djangoproject.com/ticket/25635>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
Comment:
When does a plus sign appear in the scheme in practice? I think schema
validation is handled outside of the regular expression. Could you give an
example of unexpected behavior with actual inputs?
--
Ticket URL: <https://code.djangoproject.com/ticket/25635#comment:1>
Comment (by DheerendraRathor):
The very common example is git with ssh i.e. using `git+ssh` in scheme
name. Hg-Git plugin uses this scheme http://hg-git.github.io/. Yeah they
are somewhat rarely used. I guess Phabricator default ssh clone URL is
also git+ssh.
--
Ticket URL: <https://code.djangoproject.com/ticket/25635#comment:2>
* needs_better_patch: 0 => 1
* has_patch: 0 => 1
* stage: Unreviewed => Accepted
Comment:
[https://github.com/django/django/pull/5504 PR]
--
Ticket URL: <https://code.djangoproject.com/ticket/25635#comment:3>
* needs_better_patch: 1 => 0
* stage: Accepted => Ready for checkin
--
Ticket URL: <https://code.djangoproject.com/ticket/25635#comment:4>
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"06627ef2caa6854540b50b6f6309c7d12ccfb56a" 06627ef]:
{{{
#!CommitTicketReference repository=""
revision="06627ef2caa6854540b50b6f6309c7d12ccfb56a"
Fixed #25635 -- Made URLValidator allow '+' in scheme.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/25635#comment:5>
* cc: zborboa@… (added)
--
Ticket URL: <https://code.djangoproject.com/ticket/25635#comment:6>