James M Snell
6d2811fbf2
quic: add additional implementation
...
* add QUIC_SESSION and QUIC_STREAM to AsyncWrap
* update definitions in quic/bindingdata.h
* fixup minor discrepancies in cid.h/cid.cc
* add convenience operator in struct Path
* fixup defs.h macro definitions
* fixups in quic/preferredaddress.h/cc
* fixups in src/quic/tokens.h/cc
* fixups in quic/transportparams.h/cc
* fixups in quic/tlscontext.h/cc
* add quic/streams.h/cc placeholder
* add quic session/application implementation
PR-URL: https://github.com/nodejs/node/pull/47927
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
2023-05-27 09:43:34 -07:00
James M Snell
76044c4e2b
quic: add additional QUIC implementation
...
Adds most of the Endpoint implementation with a few tweaks to
other bits.
PR-URL: https://github.com/nodejs/node/pull/47603
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2023-04-26 13:27:04 +00:00
James M Snell
595b2b3fd2
lib: disallow file-backed blob cloning
...
Disallow cloning of file-backed Blobs. If necessary, we can enable
this later but for now we disable it. The reason is because the
underlying FdEntry ends up bound to the Environment/Realm under
which is was created and transfering across worker threads ends up
failing.
Fixes: https://github.com/nodejs/node/issues/47334
PR-URL: https://github.com/nodejs/node/pull/47574
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2023-04-21 20:55:11 -07:00
James M Snell
1c3d741cb0
quic: add more QUIC implementation
...
* add TLSContext
* quic: add stat collection utilities
* add Packet
* add NgTcp2CallbackScope/NgHttp3CallbackScope
PR-URL: https://github.com/nodejs/node/pull/47494
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2023-04-17 17:49:16 -07:00
James M Snell
2d1934aa96
quic: add more QUIC impl
...
* add BindingData
* add LogStream
* add TransportParams
PR-URL: https://github.com/nodejs/node/pull/47348
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2023-04-09 19:37:33 -07:00
James M Snell
d65ae9f678
quic: add additional quic implementation utilities
...
* add TokenSecret, StatelessResetToken, RetryToken, and RegularToken
* add SessionTicket implementation
PR-URL: https://github.com/nodejs/node/pull/47289
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2023-03-31 09:58:37 -07:00
James M Snell
09a4bb152f
quic: add multiple internal utilities
...
* add the CID implementation
* add the PreferredAddress implementation
* add Path and PathStorage implementations
* add Store implementation
* add QuicError implementation
PR-URL: https://github.com/nodejs/node/pull/47263
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2023-03-28 17:15:59 -07:00
James M Snell
311fb041fa
buffer: add Buffer.copyBytesFrom(...)
...
Fixes: https://github.com/nodejs/node/issues/43862
PR-URL: https://github.com/nodejs/node/pull/46500
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2023-02-26 14:10:04 -08:00
James M Snell
c1178c53ec
url: implement URLSearchParams size getter
...
Refs: https://github.com/whatwg/url/pull/734
PR-URL: https://github.com/nodejs/node/pull/46308
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
2023-02-24 16:02:39 -08:00
James M Snell and flakey5
71fb06fd64
src, lib: fixup lint and format issues for DataQueue/Blob
...
Co-authored-by: flakey5 <73616808+flakey5@users.noreply.github.com >
PR-URL: https://github.com/nodejs/node/pull/45258
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-02-19 16:26:59 -08:00
James M Snell and flakey5
950cec4c26
src: update Blob implementation to use DataQueue / File-backed Blobs
...
Co-authored-by: flakey5 <73616808+flakey5@users.noreply.github.com >
PR-URL: https://github.com/nodejs/node/pull/45258
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-02-19 16:26:58 -08:00
James M Snell and flakey5
c8cc7e89e6
src: implement DataQueue
...
See documentation in dataqueue/queue.h for details
Co-authored-by: flakey5 <73616808+flakey5@users.noreply.github.com >
PR-URL: https://github.com/nodejs/node/pull/45258
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-02-19 16:26:56 -08:00
James M Snell
06b28fbadc
timers: cleanup no-longer relevant TODOs in timers/promises
...
PR-URL: https://github.com/nodejs/node/pull/46499
Reviewed-By: Moshe Atlow <moshe@atlow.co.il >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2023-02-05 10:12:16 +00:00
James M Snell
d523bfe2c4
src: add additional utilities to crypto::SecureContext
...
In preparation for use by the QUIC implementation.
PR-URL: https://github.com/nodejs/node/pull/45912
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2023-02-03 17:07:15 +00:00
James M Snell
c33c447b2a
src: add KeyObjectHandle::HasInstance
...
In preparation for use by the QUIC implementation.
PR-URL: https://github.com/nodejs/node/pull/45912
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2023-02-03 17:07:14 +00:00
James M Snell
a689c4dcb8
src: add GetCurrentCipherName/Version to crypto_common
...
In preparation for use by the QUIC implementation.
PR-URL: https://github.com/nodejs/node/pull/45912
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2023-02-03 17:07:12 +00:00
James M Snell
9fafb0a090
async_hooks: deprecate the AsyncResource.bind asyncResource property
...
Runtime-deprecates the `asyncResource` property that is attached to
the wrapper function returned by `asyncResource.bind()`. This property
is not expected to align with the equivalent `asyncContext.wrap()`
API in the proposed TC39 standard.
PR-URL: https://github.com/nodejs/node/pull/46432
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2023-02-03 02:02:19 +00:00
James M Snell
dc90810f9f
async_hooks: remove experimental onPropagate option
...
The `onPropagate` option for `AsyncLocalStorage` is problematic for a
couple of reasons:
1. It is not expected to be forwards compatible in any way with the
upcoming TC-39 `AsyncContext` proposal.
2. It introduces a non-trivial O(n) cost invoking a JavaScript callback
for *every* AsyncResource that is created, including every Promise.
While it is still experimental, I recommend removing it while we can
revisit the fundamental use cases in light of the coming `AsyncContext`
proposal.
Refs: https://github.com/nodejs/node/issues/46374
PR-URL: https://github.com/nodejs/node/pull/46386
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com >
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
2023-02-01 07:37:05 -08:00
James M Snell
112bf50508
http: add priority to common http headers
...
The standard `Priority` header is defined in RFC 9218.
This is added as part of the precusor to quic/http3 work.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/45045
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
2022-10-19 07:34:26 -07:00
James M Snell
1f7e8d609a
lib: add ability to add separate event name to defineEventHandler
...
Adds an optional third argument to `defineEventHandler()` to specify
an event name that is separate from the name used for the property.
This will be used, for instance, by the quic implementation to support
generating the `on...` events where the event name itself is hyphenated.
For instance `defineEventHandler(target, 'streamreset', 'stream-reset')`
Separated out from https://github.com/nodejs/node/pull/44325
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/45032
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2022-10-19 00:43:11 +00:00
James M Snell
8e681d51b4
worker: graduate get/setEnvironmentData APIs
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41272
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2022-02-05 07:52:04 -08:00
James M Snell
353532b9c3
crypto: alias webcrypto.subtle and webcrypto.getRandomValues on crypto
...
The aliases allow code written to assume that `crypto.subtle` and
`crypto.getRandomValues()` exist on the `crypto` global to just work.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41266
Reviewed-By: Filip Skokan <panva.ip@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-12-27 14:48:59 +00:00
James M Snell
9a85efaa7f
events: graduate capturerejections to supported
...
These have been around long enough to warrant graduation.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41267
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-12-27 14:14:35 +00:00
James M Snell
ce4d3adf50
worker: expose BroadcastChannel as a global
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41271
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-12-24 08:32:48 -08:00
James M Snell
6486a304d3
worker: graduate BroadcastChannel to supported
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41271
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-12-24 08:32:46 -08:00
James M Snell
cea76dbf33
buffer: expose Blob as a global
...
`Blob` is defined as a global in the spec. We have WPT's for it,
and it's graduated experimental. Time to expose it as a global.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41270
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2021-12-24 07:26:38 -08:00
James M Snell
99c18f4786
buffer: graduate Blob from experimental
...
It's time.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41270
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2021-12-24 07:26:25 -08:00
James M Snell
9d6bd102ee
events: add jsdoc details for Event and EventTarget
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41274
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Adrian Estrada <edsadr@gmail.com >
2021-12-24 07:08:57 -08:00
James M Snell
895c3d937e
events: add EventEmitterAsyncResource to core
...
Signd-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41246
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-12-23 00:56:57 +00:00
James M Snell
23637e9a3b
perf_hooks: multiple fixes for Histogram
...
* The createHistogram(options) options weren't actually implemented
* Add a new count property that tracks the number of samples
* Adds BigInt options for relevant properties
* Adds add(other) method for RecordableHistogram
* Cleans up and expands tests
* Eliminates unnecessary ELDHistogram native class
* Improve/Simplify histogram transfer impl
Signed-off-by: James M Snell <jasnell@gmail.com >
perf_hooks: simplify Histogram constructor options
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41153
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-12-19 09:56:36 -08:00
James M Snell
29a909ab22
lib: make AbortSignal cloneable/transferable
...
Allows for using `AbortSignal` across worker threads and contexts.
```js
const ac = new AbortController();
const mc = new MessageChannel();
mc.port1.onmessage = ({ data }) => {
data.addEventListener('abort', () => {
console.log('aborted!');
});
};
mc.port2.postMessage(ac.signal, [ac.signal]);
```
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41050
Refs: https://github.com/whatwg/dom/issues/948
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2021-12-10 19:22:05 -08:00
James M Snell
3f72c72bbb
lib: add abortSignal.throwIfAborted()
...
Refs: https://github.com/whatwg/dom/pull/1034
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/40951
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-10 07:51:41 -08:00
James M Snell
8bce46aff1
timers: add experimental scheduler api
...
Adds experimental implementations of the yield and wait APIs being
explored at https://github.com/WICG/scheduling-apis .
When I asked the WHATWG folks about the possibility of standardizing the
[awaitable versions of setTimeout/setImmediate](https://github.com/whatwg/html/issues/7340 )
that we have implemented in `timers/promises`, they pointed at the work
in progress scheduling APIs draft as they direction they'll be going.
While there is definitely a few thing in that draft that have
questionable utility to Node.js, the yield and wait APIs map cleanly to
the setImmediate and setTimeout we already have.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/40909
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
2021-12-05 07:36:50 -08:00
James M Snell
c8a04049be
events: propagate abortsignal reason in new AbortError ctor in events
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:14:14 -08:00
James M Snell
5401e96e5d
lib: propagate abortsignal reason in new AbortError constructor in blob
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:14:14 -08:00
James M Snell
b3f5c3b9d6
fs: propagate abortsignal reason in new AbortSignal constructors
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:14:13 -08:00
James M Snell
582c5fa313
http2: propagate abortsignal reason in new AbortError constructor
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:14:13 -08:00
James M Snell
af28b0d540
stream: use cause options in AbortError constructors
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:14:10 -08:00
James M Snell
07fbed3d5f
readline: propagate signal.reason in awaitable question
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:13:02 -08:00
James M Snell
a2982798e3
timers: propagate signal.reason in awaitable timers
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:13:00 -08:00
James M Snell
36c0ac05e6
errors: add support for cause in aborterror
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/41008
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-12-02 12:12:59 -08:00
James M Snell
722f113e0d
lib: add AbortSignal.timeout
...
Refs: https://github.com/whatwg/dom/pull/1032
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/40899
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-12-01 16:26:24 -08:00
James M Snell
606f7213c4
events: propagate weak option for kNewListener
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/40899
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-12-01 16:26:23 -08:00
James M Snell
94de738aa4
stream: remove whatwg streams experimental warning
...
The API is still experimental, but the warning isn't necessary any
longer
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/40971
Refs: https://github.com/nodejs/node/issues/40950
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2021-12-01 08:02:13 +00:00
James M Snell
bc2944ae27
stream: fix the ReadableStreamBYOBReader error message
...
PR-URL: https://github.com/nodejs/node/pull/40846
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2021-11-25 08:36:01 -08:00
James M Snell
7633c86eeb
lib: add reason to AbortSignal
...
A new reason property was recently added to the AbortSignal spec.
```js
const ac = new AbortController();
ac.abort(new Error('boom!'));
console.loc(ac.signal.reason); // Error('boom!');
```
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/40807
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
2021-11-24 06:46:43 -08:00
James M Snell
367c6245b4
events: protect property defs against prototype polution
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39773
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-08-25 08:21:00 -07:00
James M Snell
4ec64e320f
events: add brand checks for detached accessors
...
PR-URL: https://github.com/nodejs/node/pull/39773
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-08-25 08:20:50 -07:00
James M Snell
9c16305a3b
worker: add brand checks for detached MessageEvent accessors
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39773
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-08-25 08:20:44 -07:00
James M Snell
966060df0e
worker: add brand checks for detached properties/methods
...
Add proper brand-checking for detached property and method
accesses. Also adds a note about non-standard APIs and
makes the standard accessors enumerable.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39763
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2021-08-16 07:09:35 -07:00
James M Snell
e1e669b109
url: throw invalid this on detached accessors
...
Previously, using Reflect.get/set or calling a member
method like toString() detached from the instance would
result in an obscure internal error. This adds a proper
brand check and throws `ERR_INVALID_THIS` when appropriate.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39752
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2021-08-15 07:26:52 -07:00
James M Snell
fcf8ba4269
buffer: add endings option, remove Node.js specific encoding option
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39708
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-08-14 07:23:54 -07:00
James M Snell
ca19775d0e
stream: ensure text() stream consumer flushes correctly
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39737
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-08-13 15:16:48 -07:00
James M Snell
394c99118d
src: fix TextDecoder final flush size calculation
...
Flushing a TextDecoder with a zero-sized input and pending
incomplete characters was failing when fatal: false.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39737
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-08-13 15:16:46 -07:00
James M Snell
31d1d0c4c1
url,buffer: implement URL.createObjectURL
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39693
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2021-08-12 07:23:15 -07:00
James M Snell
793c08b8d1
test: enable blob.prototype.stream tests
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39693
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2021-08-12 07:23:12 -07:00
James M Snell
0bb2605f85
buffer: add Blob.prototype.stream method and other cleanups
...
Adds the `stream()` method to get a `ReadableStream` for the `Blob`.
Also makes some other improvements to get the implementation closer
to the API standard definition.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39693
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2021-08-12 07:23:10 -07:00
James M Snell
c52410710e
stream: utility consumers for web and node.js streams
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39594
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-08-06 15:42:58 -07:00
James M Snell
afabd145d1
perf_hooks: fix PerformanceObserver gc crash
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/39548
PR-URL: https://github.com/nodejs/node/pull/39550
Reviewed-By: Bryan English <bryan@bryanenglish.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
2021-08-02 12:39:21 +08:00
James M Snell
f1d353398e
fs: check closing_ in FileHandle::Close
...
Fix possible flaky failure. Keep uv_fs_close from being called twice
on the same fd.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39472
Refs: https://github.com/nodejs/node/issues/39464
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2021-07-22 07:09:03 +02:00
James M Snell
e239f5ea36
fs: fix FileHandle::ClosePromise to return persisted Promise
...
Makes the FileHandle::ClosePromise() idempotent, always returning
the same Promise after it has already been successfully called
once. Avoids the possibility of accidental double close events.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39331
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2021-07-15 13:43:28 -07:00
James M Snell
6ad3872d5e
stream: import internal/util/types instead
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39331
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2021-07-15 13:43:26 -07:00
James M Snell
6cd12be347
fs: add FileHandle.prototype.readableWebStream()
...
Adds an experimental `readableWebStream()` method to `FileHandle` that
returns a web `ReadableStream`
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39331
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2021-07-15 13:43:20 -07: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
James M Snell
25e2f177cb
stream: implement TextEncoderStream and TextDecoderStream
...
Experimental as part of the web streams implementation
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39347
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-07-14 09:12:43 -07:00
James M Snell
2cc13ad6a8
stream: fixup property definition to avoid prototype polution
...
Fixup the definitions of the properties to avoid the possibility
of prototype polution on the object definitions.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39371
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-07-13 10:50:02 -07:00
James M Snell
a99c230305
stream: implement streams to webstreams adapters
...
Experimental adapters for the webstreams API
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39134
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-07-13 10:03:16 -07:00
James M Snell
09b57f7909
test: mark test-domain-error-types flaky
...
Refs: https://github.com/nodejs/node/issues/39368
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39369
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2021-07-13 07:27:44 -07:00
James M Snell
fa0c6883a6
stream: implement WHATWG streams
...
Experimental implementation of the WHATWG streams standard.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39062
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2021-06-30 12:54:41 -07:00
James M Snell
52d32bdfbd
test: add WPT streams tests
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/39062
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
2021-06-30 12:54:39 -07:00
James M Snell
61a67c1625
doc: clarify synchronous blocking of Worker stdio
...
Fixes: https://github.com/nodejs/node/issues/25630
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38658
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-05-17 12:06:18 -07:00
James M Snell
16cb4f720b
lib: support setting process.env.TZ on windows
...
Fixes: https://github.com/nodejs/node/issues/4230
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38642
Reviewed-By: Steven R Loomis <srloomis@us.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-05-17 12:02:49 -07:00
James M Snell
41fab0d6cb
tools: add Worker to type-parser
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38659
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2021-05-13 18:12:53 -07:00
James M Snell
2c80048cb7
process: add 'worker' event
...
Provides a new `process.on('worker', (worker) => {})` event that
is triggered by the creation of a new `worker_thread.Worker`.
The use case is to allow hooks to be installed for monitoring
workers without having to modify the call sites around those.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38659
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2021-05-13 18:12:52 -07:00
James M Snell
99099f9147
doc: document 'secureConnect' event limitation
...
Fixes: https://github.com/nodejs/node/issues/10555
Signed-off-by: James M Snell <jasnell@gmail.com >
Refs: https://github.com/nodejs/node/pull/10846
PR-URL: https://github.com/nodejs/node/pull/38447
Reviewed-By: Alba Mendez <me@alba.sh >
Reviewed-By: Adrian Estrada <edsadr@gmail.com >
2021-05-02 09:24:55 +02:00
James M Snell
d85929c32a
meta: post comment when pr labeled fast-track
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38446
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2021-04-30 06:43:01 -07:00
James M Snell
32ade6997b
doc: mark querystring api as legacy
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/38231
PR-URL: https://github.com/nodejs/node/pull/38436
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2021-04-29 13:03:59 +02:00
James M Snell
4af15df013
src: fix validation of negative offset to avoid abort
...
Fixes: https://github.com/nodejs/node/issues/24640
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38421
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Nitzan Uziely <linkgoron@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
2021-04-28 11:04:42 -07:00
James M Snell
346f0e99cd
repl: document top level await limitation with const/let
...
Fixes: https://github.com/nodejs/node/issues/17669
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38449
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
2021-04-28 10:13:03 -07:00
James M Snell
5a0ed51a93
doc: minor clarification to pathObject
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/36582
PR-URL: https://github.com/nodejs/node/pull/38437
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2021-04-27 14:56:09 -07:00
James M Snell
87aca074f9
doc: clarify that fs.Dir async iterator closes automatically
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/35148
PR-URL: https://github.com/nodejs/node/pull/38438
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2021-04-27 14:55:26 -07:00
James M Snell
ea0154814a
perf_hooks: fix PerformanceObserver 'gc' crash
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/38412
PR-URL: https://github.com/nodejs/node/pull/38414
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com >
2021-04-27 07:31:15 -07:00
James M Snell
bbe24e2171
lib: add support for JSTransferable as a mixin
...
Adds a new `makeTransferable()` utility that can construct a
`JSTransferable` object that does not directly extend the
`JSTransferable` JavaScript class.
Because JavaScript does not support multiple inheritance, it is
not possible (without help) to implement a class that extends
both `JSTransferable` and, for instance, `EventTarget` without
incurring a significant additional complexity and performance
cost by making all `EventTarget` instances extend `JSTransferable`...
That is, we *don't* want:
```js
class EventTarget extends JSTransferable { ... }
```
The `makeTransferable()` allows us to create objects that are
backed internally by `JSTransferable` without having to actually
extend it by leveraging the magic of `Reflect.construct()`.
```js
const {
JSTransferable,
kClone,
kDeserialize,
kConstructor,
makeTransferable,
} = require('internal/worker/js_transferable');
class E {
constructor(b) {
this.b = b;
}
}
class F extends E {
[kClone]() { /** ... **/ }
[kDeserialize]() { /** ... **/ }
static [kConstructor]() { return makeTransferable(F); }
}
const f = makeTransferable(F, 1);
f instanceof F; // true
f instanceof E; // true
f instanceof JSTransferable; // false
const mc = new MessageChannel();
mc.port1.onmessage = ({ data }) => {
data instanceof F; // true
data instanceof E; // true
data instanceof JSTransferable; // false
};
mc.port2.postMessage(f); // works!
```
The additional `internal/test/transfer.js` file is required for the
test because successfully deserializing transferable classes requires
that they be located in `lib/internal` for now.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38383
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Khaidi Chu <i@2333.moe >
2021-04-26 07:55:48 -07:00
James M Snell
639fa3255b
src: fix setting Converter sub char length
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/38330
PR-URL: https://github.com/nodejs/node/pull/38331
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-04-24 11:40:56 +02:00
James M Snell
720fdf2f80
src: avoid deferred gc/cleanup for Buffer.from
...
Previously, the code path would allocated a tracked ArrayBuffer
that defers cleanup and deallocation of the underlying data with
a SetImmediate. Avoid the unnecessary deferral by just allocating
a `BackingStore` directly and writing into it.
Fixes: https://github.com/nodejs/node/issues/38300
Refs: https://github.com/nodejs/node/pull/38336
PR-URL: https://github.com/nodejs/node/pull/38337
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Khaidi Chu <i@2333.moe >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2021-04-24 10:22:38 +02:00
James M Snell
bc31dc0e0f
dns: refactor cares_wrap internals
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38172
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-04-16 18:46:08 -07:00
James M Snell
5e588c1c7c
test: fixup failing test/internet/test-dns.js
...
The `ttl` for the `nodejs.org` DNS record is returning `0`
currently. The test checks for `> 0`, causing the test to
fail.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38241
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2021-04-16 18:45:28 -07:00
James M Snell
fc20e833ca
src: fix finalization crash
...
PR-URL: https://github.com/nodejs/node/pull/38250
Fixes: https://github.com/nodejs/node/issues/38040
Reviewed-By: Beth Griggs <bgriggs@redhat.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2021-04-15 13:07:58 -07:00
James M Snell
6c9b19a7af
src: refactor SecureContext Initialization
...
Extracts out SecureContext::GetConstructorFunction, adds
SecureContext::HasInstance and SecureContext::Create in
preparation for re-adding QUIC
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38116
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-04-12 08:39:18 -07:00
James M Snell
eb20447407
tls: extract out SecureContext configuration
...
In preparation for re-introducing quic, refactor out a reusable
piece of the SecureContext configuration that will also be used
by the quic impl.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38116
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-04-12 08:39:16 -07:00
James M Snell
40ace47396
http: fixup perf regression
...
Only call into hrtime if there's an observer
Also, fix up some previously missed changes from the original refactor
Signed-off-by: James M Snell <jasnell@gmail.com >
Refs: https://github.com/nodejs/node/issues/37937
Refs: https://github.com/nodejs/node/pull/37136
PR-URL: https://github.com/nodejs/node/pull/38110
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-04-09 16:58:58 -07:00
James M Snell
d2f116c6bb
crypto: fixup randomFill size and offset handling
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38138
Fixes: https://github.com/nodejs/node/issues/38137
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2021-04-09 15:35:39 -07:00
James M Snell
8930eba199
assert: change status of legacy asserts
...
Previously marked deprecated, but these are unlikely to ever see
breaking changes or complete removal. Mark as legacy instead.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38113
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-04-08 11:25:02 -07:00
James M Snell
15b8e6b1c4
timers: graduate awaitable timers and improve docs
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38112
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Bryan English <bryan@bryanenglish.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2021-04-08 11:23:54 -07:00
James M Snell
944a956087
assert: graduate assert.match and assert.doesNotMatch
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/38111
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Darshan Sen <raisinten@gmail.com >
2021-04-08 11:21:29 -07:00
James M Snell
e79471deb7
net: allow net.BlockList to use net.SocketAddress objects
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/37917
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-04-02 06:16:42 -07:00
James M Snell
0b90d35294
net: add SocketAddress class
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/37917
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-04-02 06:16:40 -07:00
James M Snell
fb9257f659
net: make net.BlockList cloneable
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/37917
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2021-04-02 06:16:38 -07:00
James M Snell
f0bf373176
perf_hooks: make performance a global
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/37970
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
2021-04-01 13:14:10 -07:00
James M Snell
25e30005b8
lib: runtime deprecate access to process.binding('http_parser')
...
The internal HTTP Parser constructor and methods list are available
via `require('_http_parser')`, there's no need for the ecosystem to
access via `process.binding()`
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/37813
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2021-04-01 11:37:29 -07:00