summaryrefslogtreecommitdiff
path: root/cli/ops/net.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2019-09-10 06:59:40 +0200
committerRyan Dahl <ry@tinyclouds.org>2019-09-10 00:59:40 -0400
commit2a83327a21e83180a21afd428b11aa03e3080346 (patch)
tree670ac1ca0644d3b082d1baffc8514ad9d9fe3ef4 /cli/ops/net.rs
parent377966764636350c524b526da50c055243ab3005 (diff)
fix: replace bad rid panics with errors (#2870)
Diffstat (limited to 'cli/ops/net.rs')
-rw-r--r--cli/ops/net.rs68
1 files changed, 30 insertions, 38 deletions
diff --git a/cli/ops/net.rs b/cli/ops/net.rs
index a9a62b148..11bf410d1 100644
--- a/cli/ops/net.rs
+++ b/cli/ops/net.rs
@@ -1,6 +1,5 @@
// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
use super::dispatch_json::{Deserialize, JsonOp, Value};
-use crate::deno_error;
use crate::resolve_addr::resolve_addr;
use crate::resources;
use crate::resources::Resource;
@@ -28,28 +27,24 @@ pub fn op_accept(
let args: AcceptArgs = serde_json::from_value(args)?;
let server_rid = args.rid as u32;
- match resources::lookup(server_rid) {
- None => Err(deno_error::bad_resource()),
- Some(server_resource) => {
- let op = tokio_util::accept(server_resource)
- .and_then(move |(tcp_stream, _socket_addr)| {
- let local_addr = tcp_stream.local_addr()?;
- let remote_addr = tcp_stream.peer_addr()?;
- let tcp_stream_resource = resources::add_tcp_stream(tcp_stream);
- Ok((tcp_stream_resource, local_addr, remote_addr))
- })
- .map_err(ErrBox::from)
- .and_then(move |(tcp_stream_resource, local_addr, remote_addr)| {
- futures::future::ok(json!({
- "rid": tcp_stream_resource.rid,
- "localAddr": local_addr.to_string(),
- "remoteAddr": remote_addr.to_string(),
- }))
- });
-
- Ok(JsonOp::Async(Box::new(op)))
- }
- }
+ let server_resource = resources::lookup(server_rid)?;
+ let op = tokio_util::accept(server_resource)
+ .and_then(move |(tcp_stream, _socket_addr)| {
+ let local_addr = tcp_stream.local_addr()?;
+ let remote_addr = tcp_stream.peer_addr()?;
+ let tcp_stream_resource = resources::add_tcp_stream(tcp_stream);
+ Ok((tcp_stream_resource, local_addr, remote_addr))
+ })
+ .map_err(ErrBox::from)
+ .and_then(move |(tcp_stream_resource, local_addr, remote_addr)| {
+ futures::future::ok(json!({
+ "rid": tcp_stream_resource.rid,
+ "localAddr": local_addr.to_string(),
+ "remoteAddr": remote_addr.to_string(),
+ }))
+ });
+
+ Ok(JsonOp::Async(Box::new(op)))
}
#[derive(Deserialize)]
@@ -105,22 +100,19 @@ pub fn op_shutdown(
) -> Result<JsonOp, ErrBox> {
let args: ShutdownArgs = serde_json::from_value(args)?;
- let rid = args.rid;
+ let rid = args.rid as u32;
let how = args.how;
- match resources::lookup(rid as u32) {
- None => Err(deno_error::bad_resource()),
- Some(mut resource) => {
- let shutdown_mode = match how {
- 0 => Shutdown::Read,
- 1 => Shutdown::Write,
- _ => unimplemented!(),
- };
-
- // Use UFCS for disambiguation
- Resource::shutdown(&mut resource, shutdown_mode)?;
- Ok(JsonOp::Sync(json!({})))
- }
- }
+ let mut resource = resources::lookup(rid)?;
+
+ let shutdown_mode = match how {
+ 0 => Shutdown::Read,
+ 1 => Shutdown::Write,
+ _ => unimplemented!(),
+ };
+
+ // Use UFCS for disambiguation
+ Resource::shutdown(&mut resource, shutdown_mode)?;
+ Ok(JsonOp::Sync(json!({})))
}
#[derive(Deserialize)]