mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
net.urllib: fix ipv6 address parsing [ipv6]:port
closes #15309
This commit is contained in:
parent
657389446b
commit
f557acf76b
@ -598,12 +598,11 @@ fn parse_host(host string) ?string {
|
||||
host3 := unescape(host[i..], .encode_host) or { return err.msg() }
|
||||
return host1 + host2 + host3
|
||||
}
|
||||
if idx := host.last_index(':') {
|
||||
colon_port = host[idx..i]
|
||||
if !valid_optional_port(colon_port) {
|
||||
return error(error_msg('parse_host: invalid port $colon_port after host ',
|
||||
''))
|
||||
}
|
||||
} else if i := host.last_index(':') {
|
||||
colon_port := host[i..]
|
||||
if !valid_optional_port(colon_port) {
|
||||
return error(error_msg('parse_host: invalid port $colon_port after host ',
|
||||
''))
|
||||
}
|
||||
}
|
||||
h := unescape(host, .encode_host) or { return err.msg() }
|
||||
|
@ -111,6 +111,8 @@ fn test_parse() ? {
|
||||
'telnet://192.0.2.16:80/',
|
||||
'urn:oasis:names:specification:docbook:dtd:xml:4.1.2',
|
||||
'foo://example.com:8042/over/there?name=ferret#nose',
|
||||
'ftp://2001:0db8:85a3:0000:0000:8a2e:0370:7334/path/file.txt',
|
||||
'ws://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:4000',
|
||||
]
|
||||
for url in urls {
|
||||
_ := urllib.parse(url) or {
|
||||
|
Loading…
Reference in New Issue
Block a user