mirror of
https://github.com/denoland/deno.git
synced 2025-08-02 18:12:39 +00:00
refactor(ops): return BadResource errors in ResourceTable calls (#11710)
* refactor(ops): return BadResource errors in ResourceTable calls Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
This commit is contained in:
parent
18ff6bb053
commit
2ca454b402
34 changed files with 337 additions and 551 deletions
|
@ -1,7 +1,6 @@
|
|||
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
||||
|
||||
use data_url::DataUrl;
|
||||
use deno_core::error::bad_resource_id;
|
||||
use deno_core::error::null_opbuf;
|
||||
use deno_core::error::type_error;
|
||||
use deno_core::error::AnyError;
|
||||
|
@ -163,10 +162,7 @@ where
|
|||
FP: FetchPermissions + 'static,
|
||||
{
|
||||
let client = if let Some(rid) = args.client_rid {
|
||||
let r = state
|
||||
.resource_table
|
||||
.get::<HttpClientResource>(rid)
|
||||
.ok_or_else(bad_resource_id)?;
|
||||
let r = state.resource_table.get::<HttpClientResource>(rid)?;
|
||||
r.client.clone()
|
||||
} else {
|
||||
let client = state.borrow::<reqwest::Client>();
|
||||
|
@ -345,8 +341,7 @@ pub async fn op_fetch_send(
|
|||
let request = state
|
||||
.borrow_mut()
|
||||
.resource_table
|
||||
.take::<FetchRequestResource>(rid)
|
||||
.ok_or_else(bad_resource_id)?;
|
||||
.take::<FetchRequestResource>(rid)?;
|
||||
|
||||
let request = Rc::try_unwrap(request)
|
||||
.ok()
|
||||
|
@ -402,8 +397,7 @@ pub async fn op_fetch_request_write(
|
|||
let resource = state
|
||||
.borrow()
|
||||
.resource_table
|
||||
.get::<FetchRequestBodyResource>(rid)
|
||||
.ok_or_else(bad_resource_id)?;
|
||||
.get::<FetchRequestBodyResource>(rid)?;
|
||||
let body = RcRef::map(&resource, |r| &r.body).borrow_mut().await;
|
||||
let cancel = RcRef::map(resource, |r| &r.cancel);
|
||||
body.send(Ok(buf)).or_cancel(cancel).await?.map_err(|_| {
|
||||
|
@ -423,8 +417,7 @@ pub async fn op_fetch_response_read(
|
|||
let resource = state
|
||||
.borrow()
|
||||
.resource_table
|
||||
.get::<FetchResponseBodyResource>(rid)
|
||||
.ok_or_else(bad_resource_id)?;
|
||||
.get::<FetchResponseBodyResource>(rid)?;
|
||||
let mut reader = RcRef::map(&resource, |r| &r.reader).borrow_mut().await;
|
||||
let cancel = RcRef::map(resource, |r| &r.cancel);
|
||||
let mut buf = data.clone();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue