Commit 902f99c
Fix URL validator rejecting a fragment after an empty path (#3016)
* Fix URL validator rejecting a fragment after an empty path
`validate.URL` rejected absolute URLs whose fragment follows an empty
path with no query, such as `https://example.com#frag`. RFC 3986 permits
a fragment after an empty path, and anchor links to a domain root are
common in practice.
Allow `#` to introduce the URL tail so the fragment is accepted. This
also makes a bare `#frag` valid in relative mode, matching the existing
handling of a bare `?query`.
* Add changelog entry for URL fragment fix (:pr:`3016`)
* Remove explanatory comment per review
* credit
---------
Co-authored-by: Steven Loria <git@stevenloria.com>1 parent 3207be3 commit 902f99c
4 files changed
Lines changed: 11 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
188 | 188 | | |
189 | 189 | | |
190 | 190 | | |
| 191 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
12 | 17 | | |
13 | 18 | | |
14 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
160 | | - | |
| 160 | + | |
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
88 | 90 | | |
89 | 91 | | |
90 | 92 | | |
| 93 | + | |
91 | 94 | | |
92 | 95 | | |
93 | 96 | | |
| |||
124 | 127 | | |
125 | 128 | | |
126 | 129 | | |
| 130 | + | |
127 | 131 | | |
128 | 132 | | |
129 | 133 | | |
| |||
0 commit comments