René
9cae81932c
stream: allow shared array buffer sources in writable webstream adapter
...
Refs: https://github.com/nodejs/node/pull/61913
Signed-off-by: Renegade334 <contact.9a5d6388@renegade334.me.uk >
PR-URL: https://github.com/nodejs/node/pull/62163
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
2026-04-13 15:42:29 +00:00
Filip Skokan
7991cd2a71
stream: improve Web Compression spec compliance
...
Pass rejectGarbageAfterEnd: true to createInflateRaw() and
createBrotliDecompress(), matching the behavior already in place
for deflate and gzip. The Compression Streams spec treats any
data following a valid compressed payload as an error.
When the underlying Node.js stream throws synchronously from
write() (e.g. zlib rejects an invalid chunk type), destroy the
stream so that the readable side is also errored. Without this,
the readable side hangs forever waiting for data that will never
arrive.
Introduce a kValidateChunk callback option in the webstreams
adapter layer. Compression streams use this to validate that
chunks are BufferSource instances not backed by SharedArrayBuffer,
replacing the previous monkey-patching of the underlying
handle's write method.
Unskip WPT compression bad-chunks tests which now run instead of
hang and mark the remaining expected failures.
PR-URL: https://github.com/nodejs/node/pull/62107
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Mattias Buelens <mattias@buelens.com >
Reviewed-By: René <contact.9a5d6388@renegade334.me.uk >
2026-03-06 22:08:56 +00:00
Khafra
44d9e6d8ad
stream: add brotli support to CompressionStream and DecompressionStream
...
Refs: https://github.com/whatwg/compression/issues/34
PR-URL: https://github.com/nodejs/node/pull/59464
Reviewed-By: Mattias Buelens <mattias@buelens.com >
Reviewed-By: Jason Zhang <xzha4350@gmail.com >
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev >
2025-08-21 02:22:19 +00:00
0hm☘️
62855f3b8c
stream: making DecompressionStream spec compilent for trailing junk
...
Introduce `ERR_TRAILING_JUNK_AFTER_STREAM_END`
error to handle unexpected data after the end of
a compressed stream. This ensures proper error
reporting when decompressing deflate or gzip
streams with trailing junk. Added tests to
verify the behavior.
Fixes: https://github.com/nodejs/node/issues/58247
PR-URL: https://github.com/nodejs/node/pull/58316
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com >
2025-05-26 00:38:39 +00:00
Mert Can Altin
cd155d6454
stream: fix util.inspect for compression/decompressionStream
...
PR-URL: https://github.com/nodejs/node/pull/52283
Fixes: https://github.com/nodejs/node/issues/52263
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com >
Reviewed-By: Chemi Atlow <chemi@atlow.co.il >
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com >
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Deokjin Kim <deokjin81.kim@gmail.com >
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2024-05-12 09:38:40 +02:00
Filip Skokan
61b7846431
stream: add Symbol.toStringTag to Compression Streams
...
PR-URL: https://github.com/nodejs/node/pull/50712
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-11-19 07:36:30 +00:00
Filip Skokan
9d652f42eb
stream: treat compression web stream format per its WebIDL definition
...
PR-URL: https://github.com/nodejs/node/pull/50631
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-11-12 10:01:51 +00:00
Damian Krzeminski
3e14cfbbcf
stream: add support for deflate-raw format to webstreams compression
...
this change makes `deflate-raw` a valid parameter for both
CompressionStream and DecompressionStream constructors
it makes node's implementation consistent with what modern browsers
support and what specification calls for
see: https://wicg.github.io/compression/#compression-stream
PR-URL: https://github.com/nodejs/node/pull/50097
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
2023-11-09 11:18:57 +00:00
Yagiz Nizipli
4e93247079
stream: use private properties for compression
...
PR-URL: https://github.com/nodejs/node/pull/47218
Reviewed-By: Erick Wendel <erick.workspace@gmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2023-04-13 15:22:47 +00:00
Mestery
998e5acc69
lib: move kEnumerableProperty to internal/util
...
PR-URL: https://github.com/nodejs/node/pull/41877
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2022-02-11 17:30:47 +00:00
James M Snell
09ad64d66d
stream: add CompressionStream and DecompressionStream
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39348
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-07-14 10:52:59 -07:00