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() }
|
host3 := unescape(host[i..], .encode_host) or { return err.msg() }
|
||||||
return host1 + host2 + host3
|
return host1 + host2 + host3
|
||||||
}
|
}
|
||||||
if idx := host.last_index(':') {
|
} else if i := host.last_index(':') {
|
||||||
colon_port = host[idx..i]
|
colon_port := host[i..]
|
||||||
if !valid_optional_port(colon_port) {
|
if !valid_optional_port(colon_port) {
|
||||||
return error(error_msg('parse_host: invalid port $colon_port after host ',
|
return error(error_msg('parse_host: invalid port $colon_port after host ',
|
||||||
''))
|
''))
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
h := unescape(host, .encode_host) or { return err.msg() }
|
h := unescape(host, .encode_host) or { return err.msg() }
|
||||||
|
@ -111,6 +111,8 @@ fn test_parse() ? {
|
|||||||
'telnet://192.0.2.16:80/',
|
'telnet://192.0.2.16:80/',
|
||||||
'urn:oasis:names:specification:docbook:dtd:xml:4.1.2',
|
'urn:oasis:names:specification:docbook:dtd:xml:4.1.2',
|
||||||
'foo://example.com:8042/over/there?name=ferret#nose',
|
'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 {
|
for url in urls {
|
||||||
_ := urllib.parse(url) or {
|
_ := urllib.parse(url) or {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user