summaryrefslogtreecommitdiff
path: root/cli/ops/fetch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/ops/fetch.rs')
-rw-r--r--cli/ops/fetch.rs21
1 files changed, 9 insertions, 12 deletions
diff --git a/cli/ops/fetch.rs b/cli/ops/fetch.rs
index 9758732c7..efcadc6a0 100644
--- a/cli/ops/fetch.rs
+++ b/cli/ops/fetch.rs
@@ -1,9 +1,8 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
use super::dispatch_json::{Deserialize, JsonOp, Value};
use super::io::StreamResource;
-use crate::deno_error::DenoError;
-use crate::deno_error::ErrorKind;
use crate::http_util::{create_http_client, HttpBody};
+use crate::op_error::OpError;
use crate::ops::json_op;
use crate::state::State;
use deno_core::*;
@@ -29,7 +28,7 @@ pub fn op_fetch(
state: &State,
args: Value,
data: Option<ZeroCopyBuf>,
-) -> Result<JsonOp, ErrBox> {
+) -> Result<JsonOp, OpError> {
let args: FetchArgs = serde_json::from_value(args)?;
let url = args.url;
@@ -37,22 +36,20 @@ pub fn op_fetch(
create_http_client(state.borrow().global_state.flags.ca_file.clone())?;
let method = match args.method {
- Some(method_str) => Method::from_bytes(method_str.as_bytes())?,
+ Some(method_str) => Method::from_bytes(method_str.as_bytes())
+ .map_err(|e| OpError::other(e.to_string()))?,
None => Method::GET,
};
- let url_ = url::Url::parse(&url).map_err(ErrBox::from)?;
+ let url_ = url::Url::parse(&url).map_err(OpError::from)?;
// Check scheme before asking for net permission
let scheme = url_.scheme();
if scheme != "http" && scheme != "https" {
- return Err(
- DenoError::new(
- ErrorKind::TypeError,
- format!("scheme '{}' not supported", scheme),
- )
- .into(),
- );
+ return Err(OpError::type_error(format!(
+ "scheme '{}' not supported",
+ scheme
+ )));
}
state.check_net_url(&url_)?;