You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**WHEN** sandboxed code uses `http.Agent` or `require('_http_agent').Agent`
215
+
-**THEN** the bridge MUST expose matching `Agent` constructors through both module paths
216
+
-**AND**`getName()`, `requests`, `sockets`, `freeSockets`, and `totalSocketCount` MUST reflect request queueing and socket reuse state with Node-compatible key shapes
217
+
218
+
#### Scenario: Keepalive sockets are reused or discarded
219
+
-**WHEN** sandboxed code enables `keepAlive` and reuses pooled HTTP connections
220
+
-**THEN** the bridge MUST mark reused requests via `request.reusedSocket`
221
+
-**AND** destroyed or remotely closed sockets MUST be removed from the pool instead of being reassigned to queued requests
222
+
223
+
#### Scenario: Total socket limits are configured
224
+
-**WHEN** sandboxed code constructs an `http.Agent` with `maxSockets`, `maxFreeSockets`, or `maxTotalSockets`
225
+
-**THEN** invalid argument types and ranges MUST throw Node-compatible `ERR_INVALID_ARG_TYPE` / `ERR_OUT_OF_RANGE` errors
226
+
-**AND** queued requests across origins MUST respect both per-origin and total socket limits
@@ -260,7 +260,7 @@ description: Node.js v22 test/parallel/ conformance results for the secure-exec
260
260
-`test-https-*.js` — https depends on tls — most tests fail on missing TLS fixture files or crypto API gaps
261
261
-`test-http2-*.js` — http2 module bridged via kernel — most tests fail on API gaps, missing fixtures, or protocol handling
262
262
263
-
*690 individual tests — see expectations.json for full list.*
263
+
*685 individual tests — see expectations.json for full list.*
264
264
265
265
### unsupported-module (191 entries)
266
266
@@ -465,15 +465,15 @@ description: Node.js v22 test/parallel/ conformance results for the secure-exec
465
465
466
466
</Accordion>
467
467
468
-
### unsupported-api (79 entries)
468
+
### unsupported-api (78 entries)
469
469
470
470
**Glob patterns:**
471
471
472
472
-`test-snapshot-*.js` — V8 snapshot/startup features not available in sandbox
473
473
-`test-shadow-*.js` — ShadowRealm is experimental and not supported in sandbox
474
474
-`test-compile-*.js` — V8 compile cache/code cache features not available in sandbox
475
475
476
-
<Accordiontitle="76 individual tests">
476
+
<Accordiontitle="75 individual tests">
477
477
478
478
| Test | Reason |
479
479
| --- | --- |
@@ -505,7 +505,6 @@ description: Node.js v22 test/parallel/ conformance results for the secure-exec
505
505
|`test-fs-promises-file-handle-writeFile.js`| Readable.from is not available in the browser — stream.Readable.from() factory not implemented in sandbox stream polyfill |
506
506
|`test-fs-promises-writefile.js`| Readable.from is not available in the browser — stream.Readable.from() factory not implemented; used by writeFile() Readable/iterable overload |
507
507
|`test-http-addrequest-localaddress.js`| TypeError: agent.addRequest is not a function — http.Agent.addRequest() internal method not implemented in http polyfill |
508
-
|`test-http-agent-getname.js`| TypeError: agent.getName() is not a function — http.Agent.getName() not implemented in http polyfill |
509
508
|`test-http-header-validators.js`| TypeError: Cannot read properties of undefined (reading 'constructor') — validateHeaderName/validateHeaderValue not exported from http polyfill module |
510
509
|`test-http-import-websocket.js`| ReferenceError: WebSocket is not defined — WebSocket global not available in sandbox; undici WebSocket not polyfilled as a global |
511
510
|`test-http-incoming-matchKnownFields.js`| TypeError: incomingMessage._addHeaderLine is not a function — http.IncomingMessage._addHeaderLine() internal method not implemented in http polyfill |
0 commit comments