2525
2626#include " async_wrap-inl.h"
2727#include " env-inl.h"
28+ #include " node_errors.h"
2829#include " node_external_reference.h"
2930#include " threadpoolwork-inl.h"
3031#include " util-inl.h"
@@ -271,6 +272,8 @@ class CompressionStream : public AsyncWrap, public ThreadPoolWork {
271272 CHECK_EQ (unreported_allocations_, 0 );
272273 }
273274
275+ Environment* env () const { return this ->ThreadPoolWork ::env (); }
276+
274277 void Close () {
275278 if (write_in_progress_) {
276279 pending_close_ = true ;
@@ -661,6 +664,10 @@ class BrotliCompressionStream final :
661664 context ()->SetMode (mode);
662665 }
663666
667+ Environment* env () {
668+ return this ->CompressionStream <CompressionContext>::env ();
669+ }
670+
664671 inline CompressionContext* context () {
665672 return this ->CompressionStream <CompressionContext>::context ();
666673 }
@@ -694,7 +701,8 @@ class BrotliCompressionStream final :
694701 static_cast <CompressionStream<CompressionContext>*>(wrap));
695702 if (err.IsError ()) {
696703 wrap->EmitError (err);
697- args.GetReturnValue ().Set (false );
704+ THROW_ERR_ZLIB_INITIALIZATION_FAILED (wrap->env (),
705+ " Initialization failed" );
698706 return ;
699707 }
700708
@@ -708,12 +716,11 @@ class BrotliCompressionStream final :
708716 err = wrap->context ()->SetParams (i, data[i]);
709717 if (err.IsError ()) {
710718 wrap->EmitError (err);
711- args.GetReturnValue ().Set (false );
719+ THROW_ERR_ZLIB_INITIALIZATION_FAILED (wrap->env (),
720+ " Initialization failed" );
712721 return ;
713722 }
714723 }
715-
716- args.GetReturnValue ().Set (true );
717724 }
718725
719726 static void Params (const FunctionCallbackInfo<Value>& args) {
0 commit comments