From bd09976956e876da7717664ea1bf90b706d023e4 Mon Sep 17 00:00:00 2001 From: EduardF1 <50618110+EduardF1@users.noreply.github.com> Date: Tue, 30 Jun 2026 15:09:08 +0200 Subject: [PATCH] doc: clarify QUIC stream state wording When the body option is omitted, no FIN is sent immediately and the stream's outgoing side remains writable. The stream can still be written later via stream.setBody() or the writer. Avoid describing the outgoing stream itself as half-closed, since the outgoing side is one half of the stream state. Fixes: https://github.com/nodejs/node/issues/63655 Signed-off-by: EduardF1 <50618110+EduardF1@users.noreply.github.com> --- doc/api/quic.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/api/quic.md b/doc/api/quic.md index d36825d6943264..a19ff2befb5731 100644 --- a/doc/api/quic.md +++ b/doc/api/quic.md @@ -1280,8 +1280,8 @@ added: v23.8.0 * `body` {string | ArrayBuffer | SharedArrayBuffer | ArrayBufferView | Blob | FileHandle | AsyncIterable | Iterable | Promise | null} The outbound body source. See [`stream.setBody()`][] for details on - supported types. When omitted, the stream starts half-closed (writable - side open, no body queued). + supported types. When omitted, the stream's outgoing side remains + writable with no body queued; no FIN is sent immediately. * `headers` {Object} Initial request or response headers to send. Only used when the session supports headers (e.g. HTTP/3). If `body` is not specified and `headers` is provided, the stream is treated as @@ -1308,7 +1308,8 @@ added: v23.8.0 * Returns: {Promise} for a {quic.QuicStream} Open a new bidirectional stream. If the `body` option is not specified, -the outgoing stream will be half-closed. The `priority` and `incremental` +the stream's outgoing side remains writable and no FIN is sent +immediately. The `priority` and `incremental` options are only used when the session supports priority (e.g. HTTP/3). The `headers`, `onheaders`, `ontrailers`, `oninfo`, and `onwanttrailers` options are only used when the session supports headers (e.g. HTTP/3). @@ -1323,7 +1324,8 @@ added: v23.8.0 * `body` {string | ArrayBuffer | SharedArrayBuffer | ArrayBufferView | Blob | FileHandle | AsyncIterable | Iterable | Promise | null} The outbound body source. See [`stream.setBody()`][] for details on - supported types. When omitted, the stream is closed immediately. + supported types. When omitted, the stream's outgoing side remains + writable with no body queued; no FIN is sent immediately. * `headers` {Object} Initial request headers to send. * `priority` {string} The priority level of the stream. One of `'high'`, `'default'`, or `'low'`. **Default:** `'default'`. @@ -1345,7 +1347,8 @@ added: v23.8.0 * Returns: {Promise} for a {quic.QuicStream} Open a new unidirectional stream. If the `body` option is not specified, -the outgoing stream will be closed. The `priority` and `incremental` +the stream's outgoing side remains writable and no FIN is sent +immediately. The `priority` and `incremental` options are only used when the session supports priority (e.g. HTTP/3). ### `session.path`