Skip to content

stream: do not use crypto.DEFAULT_ENCODING in lazy_transform.js

Rodrigo Muino Tomonari requested to merge github/fork/joyeecheung/lazy into master

The default encoding can be retrieved via require('internal/crypto/util').getDefaultEncoding instead of the deprecated crypto.DEFAULT_ENCODING which triggers a warning.

Background:

The require chain goes like this:

internal/streams/lazy_transform.js
  -> crypto.js
  -> internal/crypto/cipher.js (uses LazyTransform in the global scope)
  -> internal/streams/lazy_transform.js

So when internal/streams/lazy_transform.js is required before lib/crypto.js, we have a circular dependency and since internal/crypto/cipher.js uses destructuring to use LazyTransform we will get an error. And it can also trigger a warning if lazy_transform.js is the first file that touches crypto.DEFAULT_ENCODING.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • commit message follows commit guidelines

Merge request reports

Loading