diff options
author | Yusuke Tanaka <yusuktan@maguro.dev> | 2020-12-30 10:19:28 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-29 20:19:28 -0500 |
commit | 92a8205d26f88cfa7b6f61fb2ca227feb77ecd17 (patch) | |
tree | 92c0babc71f3dd7a603866213683140d62f73bf8 /runtime/ops/tls.rs | |
parent | 57b0562957f0887611526bf7e878ac34fdcd6393 (diff) |
refactor(runtime): return iterator from resolve_addr (#8891)
Diffstat (limited to 'runtime/ops/tls.rs')
-rw-r--r-- | runtime/ops/tls.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/runtime/ops/tls.rs b/runtime/ops/tls.rs index 0630747ed..fb8b08f00 100644 --- a/runtime/ops/tls.rs +++ b/runtime/ops/tls.rs @@ -8,6 +8,7 @@ use crate::resolve_addr::resolve_addr_sync; use deno_core::error::bad_resource; use deno_core::error::bad_resource_id; use deno_core::error::custom_error; +use deno_core::error::generic_error; use deno_core::error::AnyError; use deno_core::serde_json; use deno_core::serde_json::json; @@ -156,7 +157,10 @@ async fn op_connect_tls( domain.push_str("localhost"); } - let addr = resolve_addr(&args.hostname, args.port).await?; + let addr = resolve_addr(&args.hostname, args.port) + .await? + .next() + .ok_or_else(|| generic_error("No resolved address found"))?; let tcp_stream = TcpStream::connect(&addr).await?; let local_addr = tcp_stream.local_addr()?; let remote_addr = tcp_stream.peer_addr()?; @@ -295,7 +299,9 @@ fn op_listen_tls( .set_single_cert(load_certs(&cert_file)?, load_keys(&key_file)?.remove(0)) .expect("invalid key or certificate"); let tls_acceptor = TlsAcceptor::from(Arc::new(config)); - let addr = resolve_addr_sync(&args.hostname, args.port)?; + let addr = resolve_addr_sync(&args.hostname, args.port)? + .next() + .ok_or_else(|| generic_error("No resolved address found"))?; let std_listener = std::net::TcpListener::bind(&addr)?; let listener = TcpListener::from_std(std_listener)?; let local_addr = listener.local_addr()?; |