summaryrefslogtreecommitdiff
path: root/ext/web/compression.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/web/compression.rs')
-rw-r--r--ext/web/compression.rs33
1 files changed, 21 insertions, 12 deletions
diff --git a/ext/web/compression.rs b/ext/web/compression.rs
index 557bff6ba..1ebb453b8 100644
--- a/ext/web/compression.rs
+++ b/ext/web/compression.rs
@@ -1,5 +1,6 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+use deno_core::error::type_error;
use deno_core::error::AnyError;
use deno_core::op;
use deno_core::OpState;
@@ -74,32 +75,32 @@ pub fn op_compression_write(
let mut inner = resource.0.borrow_mut();
let out: Vec<u8> = match &mut *inner {
Inner::DeflateDecoder(d) => {
- d.write_all(input)?;
+ d.write_all(input).map_err(|e| type_error(e.to_string()))?;
d.flush()?;
d.get_mut().drain(..)
}
Inner::DeflateEncoder(d) => {
- d.write_all(input)?;
+ d.write_all(input).map_err(|e| type_error(e.to_string()))?;
d.flush()?;
d.get_mut().drain(..)
}
Inner::DeflateRawDecoder(d) => {
- d.write_all(input)?;
+ d.write_all(input).map_err(|e| type_error(e.to_string()))?;
d.flush()?;
d.get_mut().drain(..)
}
Inner::DeflateRawEncoder(d) => {
- d.write_all(input)?;
+ d.write_all(input).map_err(|e| type_error(e.to_string()))?;
d.flush()?;
d.get_mut().drain(..)
}
Inner::GzDecoder(d) => {
- d.write_all(input)?;
+ d.write_all(input).map_err(|e| type_error(e.to_string()))?;
d.flush()?;
d.get_mut().drain(..)
}
Inner::GzEncoder(d) => {
- d.write_all(input)?;
+ d.write_all(input).map_err(|e| type_error(e.to_string()))?;
d.flush()?;
d.get_mut().drain(..)
}
@@ -117,12 +118,20 @@ pub fn op_compression_finish(
let resource = Rc::try_unwrap(resource).unwrap();
let inner = resource.0.into_inner();
let out: Vec<u8> = match inner {
- Inner::DeflateDecoder(d) => d.finish()?,
- Inner::DeflateEncoder(d) => d.finish()?,
- Inner::DeflateRawDecoder(d) => d.finish()?,
- Inner::DeflateRawEncoder(d) => d.finish()?,
- Inner::GzDecoder(d) => d.finish()?,
- Inner::GzEncoder(d) => d.finish()?,
+ Inner::DeflateDecoder(d) => {
+ d.finish().map_err(|e| type_error(e.to_string()))?
+ }
+ Inner::DeflateEncoder(d) => {
+ d.finish().map_err(|e| type_error(e.to_string()))?
+ }
+ Inner::DeflateRawDecoder(d) => {
+ d.finish().map_err(|e| type_error(e.to_string()))?
+ }
+ Inner::DeflateRawEncoder(d) => {
+ d.finish().map_err(|e| type_error(e.to_string()))?
+ }
+ Inner::GzDecoder(d) => d.finish().map_err(|e| type_error(e.to_string()))?,
+ Inner::GzEncoder(d) => d.finish().map_err(|e| type_error(e.to_string()))?,
};
Ok(out.into())
}