diff options
Diffstat (limited to 'ext/node/polyfills/_brotli.js')
-rw-r--r-- | ext/node/polyfills/_brotli.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/node/polyfills/_brotli.js b/ext/node/polyfills/_brotli.js index 1524bf85c..6b4020724 100644 --- a/ext/node/polyfills/_brotli.js +++ b/ext/node/polyfills/_brotli.js @@ -121,13 +121,20 @@ export class BrotliCompress extends Transform { } function oneOffCompressOptions(options) { - const quality = options?.params?.[constants.BROTLI_PARAM_QUALITY] ?? + let quality = options?.params?.[constants.BROTLI_PARAM_QUALITY] ?? constants.BROTLI_DEFAULT_QUALITY; const lgwin = options?.params?.[constants.BROTLI_PARAM_LGWIN] ?? constants.BROTLI_DEFAULT_WINDOW; const mode = options?.params?.[constants.BROTLI_PARAM_MODE] ?? constants.BROTLI_MODE_GENERIC; + // NOTE(bartlomieju): currently the rust-brotli crate panics if the quality + // is set to 10. Coerce it down to 9.5 which is the maximum supported value. + // https://github.com/dropbox/rust-brotli/issues/216 + if (quality == 10) { + quality = 9.5; + } + return { quality, lgwin, |