Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit a7c1d09

Browse filesBrowse files
joyeecheungcodebytere
authored andcommitted
stream: do not use crypto.DEFAULT_ENCODING in lazy_transform.js
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. PR-URL: #24396 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
1 parent bfde244 commit a7c1d09
Copy full SHA for a7c1d09

File tree

Expand file treeCollapse file tree

1 file changed

+5
-2
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+5
-2
lines changed
Open diff view settings
Collapse file

‎lib/internal/streams/lazy_transform.js‎

Copy file name to clipboardExpand all lines: lib/internal/streams/lazy_transform.js
+5-2Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55

66
const stream = require('stream');
77
const util = require('util');
8-
const crypto = require('crypto');
8+
9+
const {
10+
getDefaultEncoding
11+
} = require('internal/crypto/util');
912

1013
module.exports = LazyTransform;
1114

@@ -22,7 +25,7 @@ function makeGetter(name) {
2225
this._writableState.decodeStrings = false;
2326

2427
if (!this._options || !this._options.defaultEncoding) {
25-
this._writableState.defaultEncoding = crypto.DEFAULT_ENCODING;
28+
this._writableState.defaultEncoding = getDefaultEncoding();
2629
}
2730

2831
return this[name];

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.