mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 15:04:11 -05:00
fix(perm): allow-net with port 80 (#21221)
This commit is contained in:
parent
fc8f060ee3
commit
e087851e54
1 changed files with 14 additions and 3 deletions
|
@ -559,8 +559,14 @@ impl FromStr for NetDescriptor {
|
|||
type Err = AnyError;
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
let url = url::Url::parse(&format!("http://{s}"))?;
|
||||
let hostname = url.host_str().unwrap().to_string();
|
||||
// Set the scheme to `unknown` to parse the URL, as we really don't know
|
||||
// what the scheme is. We only using Url::parse to parse the host and port
|
||||
// and don't care about the scheme.
|
||||
let url = url::Url::parse(&format!("unknown://{s}"))?;
|
||||
let hostname = url
|
||||
.host_str()
|
||||
.ok_or(url::ParseError::EmptyHost)?
|
||||
.to_string();
|
||||
|
||||
Ok(NetDescriptor(hostname, url.port()))
|
||||
}
|
||||
|
@ -2273,7 +2279,9 @@ mod tests {
|
|||
"github.com:3000",
|
||||
"127.0.0.1",
|
||||
"172.16.0.2:8000",
|
||||
"www.github.com:443"
|
||||
"www.github.com:443",
|
||||
"80.example.com:80",
|
||||
"443.example.com:443"
|
||||
]),
|
||||
..Default::default()
|
||||
})
|
||||
|
@ -2297,6 +2305,9 @@ mod tests {
|
|||
("172.16.0.2", 0, false),
|
||||
("172.16.0.2", 6000, false),
|
||||
("172.16.0.1", 8000, false),
|
||||
("443.example.com", 444, false),
|
||||
("80.example.com", 81, false),
|
||||
("80.example.com", 80, true),
|
||||
// Just some random hosts that should err
|
||||
("somedomain", 0, false),
|
||||
("192.168.0.1", 0, false),
|
||||
|
|
Loading…
Reference in a new issue