node/lib/internal
Tim Perry 4cd8e1914a http2: add raw header array support to h2Session.request()
This also notably changes error handling for request(). Previously some
invalid header values (but not all) would cause the session to be
unnecessarily destroyed automatically, e.g. passing an unparseable
header name to request(). This is no longer the case: header validation
failures will throw an error, but will not destroy the session or emit
'error' events.

PR-URL: https://github.com/nodejs/node/pull/57917
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-04-26 09:27:27 -07:00
..
assert assert,util: improve array comparison 2025-04-02 23:45:36 +00:00
async_local_storage lib: add defaultValue and name options to AsyncLocalStorage 2025-04-07 13:41:18 -07:00
bootstrap process: add execve 2025-03-21 21:36:41 +01:00
child_process child_process: fix parsing messages with splitted length field 2025-01-18 19:39:56 +00:00
cluster lib: add flag to drop connection when running in cluster mode 2024-10-17 15:11:41 +00:00
console diagnostics_channel: capture console messages 2025-01-13 12:51:31 +00:00
crypto crypto: fix cross-realm `SharedArrayBuffer` validation 2025-04-24 13:28:51 +00:00
debugger debugger: fix behavior of plain object exec in debugger repl 2025-03-18 19:30:31 +00:00
dns dns: remove redundant code using common variable 2025-03-11 13:54:00 +00:00
events lib: remove `Symbol[Async]Dispose` polyfills 2024-10-07 09:47:44 +00:00
fs lib: resolve the issue of not adhering to the specified buffer size 2025-04-26 15:38:15 +00:00
http2 http2: add raw header array support to h2Session.request() 2025-04-26 09:27:27 -07:00
inspector inspector: add Network.Initiator in inspector protocol 2025-02-08 13:39:19 +00:00
legacy tools: add lint rule to keep primordials in ASCII order 2024-04-21 16:53:08 +00:00
main watch: clarify completion/failure watch mode messages 2025-04-24 14:00:24 +00:00
modules module: fix incorrect formatting in require(esm) cycle error message 2025-04-09 11:47:58 +00:00
per_context lib: move `Symbol[Async]Dispose` polyfills to `internal/util` 2024-09-10 21:24:56 +00:00
perf src,lib: optimize nodeTiming.uvMetricsInfo 2024-11-01 13:35:12 -03:00
process process: disable building execve on IBM i 2025-04-18 11:07:51 +00:00
quic http2: add raw header array support to h2Session.request() 2025-04-26 09:27:27 -07:00
readline Revert "readline: add stricter validation for functions called after closed" 2025-04-25 22:45:58 +00:00
repl repl: add support for multiline history 2025-04-13 11:58:01 +00:00
source_map lib: limit split function calls to prevent excessive array length 2025-03-18 15:52:50 +00:00
streams stream: preserve AsyncLocalStorage context in finished() 2025-04-16 09:27:37 +00:00
test v8: implement v8.queryObjects() for memory leak regression testing 2024-03-02 22:11:30 +00:00
test_runner test_runner: support mocking json modules 2025-04-26 14:56:24 +00:00
tls tls: remove deprecated tls.createSecurePair 2025-03-11 23:01:28 +00:00
util assert: support `Float16Array` in loose deep equality checks 2025-04-19 17:04:03 +00:00
v8 src: fixup Error.stackTraceLimit during snapshot building 2024-09-30 15:05:12 +00:00
vm esm: support source phase imports for WebAssembly 2025-02-28 09:52:47 -08:00
watch_mode watch: check parent and child path properly 2025-04-06 09:48:53 +02:00
webstreams stream: fix sizeAlgorithm validation in WritableStream 2025-03-05 03:04:39 +00:00
worker lib: limit split function calls to prevent excessive array length 2025-03-18 15:52:50 +00:00
README.md doc: add note about `--expose-internals` 2024-09-23 20:22:45 +00:00
abort_controller.js lib: fix AbortSignal.any() with timeout signals 2025-04-17 14:28:36 +00:00
assert.js lib: prefer logical assignment 2024-10-09 06:42:16 +00:00
async_context_frame.js lib: use Map primordial for ActiveAsyncContextFrame 2025-04-08 17:51:08 +00:00
async_hooks.js inspector: skip promise hook in the inspector async hook 2025-02-23 01:07:21 +00:00
blob.js lib: limit split function calls to prevent excessive array length 2025-03-18 15:52:50 +00:00
blocklist.js net: add net.BlockList.isBlockList(value) 2024-12-04 07:48:30 -08:00
buffer.js src: migrate from deprecated SnapshotCreator constructor 2025-04-14 12:11:43 -07:00
child_process.js lib: prefer logical assignment 2024-10-09 06:42:16 +00:00
cli_table.js lib: align console.table row to the left 2023-10-28 01:14:22 +00:00
constants.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
data_url.js esm: use Undici/`fetch` `data:` URL parser 2024-09-07 10:22:03 +02:00
dgram.js lib: enforce ASCII order in error code imports 2024-04-23 17:05:38 +00:00
encoding.js util: add fast path for Latin1 decoding 2024-12-03 11:32:01 +00:00
error_serdes.js lib: prefer logical assignment 2024-10-09 06:42:16 +00:00
errors.js lib: limit split function calls to prevent excessive array length 2025-03-18 15:52:50 +00:00
event_target.js events: optimize EventTarget.addEventListener 2024-10-14 10:24:32 +00:00
file.js buffer: correctly apply prototype to cloned `File` / `Blob` 2024-09-28 22:05:58 +00:00
fixed_queue.js lib: ensure no holey array in fixed_queue 2024-09-02 01:42:44 +00:00
freelist.js
freeze_intrinsics.js tools: add lint rule to keep primordials in ASCII order 2024-04-21 16:53:08 +00:00
heap_utils.js tools: add lint rule to keep primordials in ASCII order 2024-04-21 16:53:08 +00:00
histogram.js lib: enforce ASCII order in error code imports 2024-04-23 17:05:38 +00:00
http.js src,lib: expose getCategoryEnabledBuffer to use on node.http 2024-07-16 18:40:22 +00:00
inspector_async_hook.js inspector: skip promise hook in the inspector async hook 2025-02-23 01:07:21 +00:00
inspector_network_tracking.js inspector: add undici http tracking support 2025-01-08 16:56:42 +00:00
js_stream_socket.js http2: fix h2-over-h2 connection proxying 2024-04-08 09:53:18 +00:00
linkedlist.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
mime.js util: pass invalidSubtypeIndex instead of trimmedSubtype to error 2023-12-25 04:29:00 +00:00
navigator.js src: use v8::Isolate::GetDefaultLocale() to compute navigator.language 2024-08-29 03:25:51 +00:00
net.js lib: add warning when binding inspector to public IP 2025-03-21 08:11:10 -07:00
options.js doc: allow the $schema property in node.config.json 2025-04-06 17:19:36 +00:00
priority_queue.js lib: optimize priority queue 2025-02-28 16:25:49 +00:00
promise_hooks.js tools: add lint rule to keep primordials in ASCII order 2024-04-21 16:53:08 +00:00
querystring.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
repl.js repl: add trailing commas in source files 2023-02-24 09:43:27 +01:00
socket_list.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
socketaddress.js net: add SocketAddress.parse 2024-12-04 09:29:30 -08:00
stream_base_commons.js stream: relocate the status checking code in the onwritecomplete 2024-09-02 07:29:17 +00:00
timers.js timers: remove unnecessary allocation of _onTimeout 2025-03-20 08:44:44 +00:00
trace_events_async_hooks.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
tty.js lib: limit split function calls to prevent excessive array length 2025-03-18 15:52:50 +00:00
url.js url: add URLPattern implementation 2025-02-01 02:13:57 +00:00
util.js os: fix netmask format check condition in getCIDR function 2025-04-20 05:54:48 +00:00
v8_prof_polyfill.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
v8_prof_processor.js src: implement natives binding without special casing 2023-06-09 15:32:55 +02:00
validators.js zlib: simplify validators 2024-08-27 14:58:36 +00:00
vm.js esm: support source phase imports for WebAssembly 2025-02-28 09:52:47 -08:00
wasm_web_api.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
watchdog.js lib: add trailing commas to more internal files 2023-02-26 11:34:02 +01:00
webidl.js lib: prefer symbol to number in webidl `type` function 2024-11-07 23:21:50 +00:00
webstorage.js src: move `ToNamespacedPath` call of webstorage 2024-07-21 20:49:10 +00:00
worker.js worker: add worker.getHeapStatistics() 2025-04-17 10:30:59 +00:00

README.md

Internal Modules

The modules located in lib/internal directory are exclusively meant for internal usage within the Node.js core. They are not intended to be accessed via user modules require(). These modules may change at any point in time. Relying on these internal modules outside the core is not supported and can lead to unpredictable behavior.

In certain scenarios, accessing these internal modules for debugging or experimental purposes might be necessary. Node.js provides the --expose-internals flag to expose these modules to userland code. This flag only exists to assist Node.js maintainers with debugging internals. It is not meant for use outside the project.