Skip to main content
ClientHttp2Session - node__http2.d.ts - Node documentation
interface ClientHttp2Session
extends Http2Session

Usage in Deno

```typescript import { type ClientHttp2Session } from "node:node__http2.d.ts"; ```

Methods

For HTTP/2 Client `Http2Session` instances only, the `http2session.request()` creates and returns an `Http2Stream` instance that can be used to send an HTTP/2 request to the connected server. When a `ClientHttp2Session` is first created, the socket may not yet be connected. if `clienthttp2session.request()` is called during this time, the actual request will be deferred until the socket is ready to go. If the `session` is closed before the actual request be executed, an `ERR_HTTP2_GOAWAY_SESSION` is thrown. This method is only available if `http2session.type` is equal to `http2.constants.NGHTTP2_SESSION_CLIENT`. ```js import http2 from 'node:http2'; const clientSession = http2.connect('https://localhost:1234'); const { HTTP2_HEADER_PATH, HTTP2_HEADER_STATUS, } = http2.constants; const req = clientSession.request({ [HTTP2_HEADER_PATH]: '/' }); req.on('response', (headers) => { console.log(headers[HTTP2_HEADER_STATUS]); req.on('data', (chunk) => { // .. }); req.on('end', () => { // .. }); }); ``` When the `options.waitForTrailers` option is set, the `'wantTrailers'` event is emitted immediately after queuing the last chunk of payload data to be sent. The `http2stream.sendTrailers()` method can then be called to send trailing headers to the peer. When `options.waitForTrailers` is set, the `Http2Stream` will not automatically close when the final `DATA` frame is transmitted. User code must call either`http2stream.sendTrailers()` or `http2stream.close()` to close the`Http2Stream`. When `options.signal` is set with an `AbortSignal` and then `abort` on the corresponding `AbortController` is called, the request will emit an `'error'`event with an `AbortError` error. The `:method` and `:path` pseudo-headers are not specified within `headers`, they respectively default to: * `:method` \= `'GET'` * `:path` \= `/`
addListener(
event: "altsvc",
listener: (
alt: string,
origin: string,
stream: number,
) => void
,
): this
addListener(
event: "origin",
listener: (origins: string[]) => void,
): this
addListener(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
addListener(
event: "stream",
listener: () => void,
): this
addListener(
event: string | symbol,
listener: (...args: any[]) => void,
): this
emit(
event: "altsvc",
alt: string,
origin: string,
stream: number,
): boolean
emit(
event: "origin",
origins: readonly string[],
): boolean
emit(
event: "connect",
socket: net.Socket | tls.TLSSocket,
): boolean
emit(
event: "stream",
flags: number,
): boolean
emit(
event: string | symbol,
...args: any[],
): boolean
on(
event: "altsvc",
listener: (
alt: string,
origin: string,
stream: number,
) => void
,
): this
on(
event: "origin",
listener: (origins: string[]) => void,
): this
on(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
on(
event: "stream",
listener: () => void,
): this
on(
event: string | symbol,
listener: (...args: any[]) => void,
): this
once(
event: "altsvc",
listener: (
alt: string,
origin: string,
stream: number,
) => void
,
): this
once(
event: "origin",
listener: (origins: string[]) => void,
): this
once(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
once(
event: "stream",
listener: () => void,
): this
once(
event: string | symbol,
listener: (...args: any[]) => void,
): this
prependListener(
event: "altsvc",
listener: (
alt: string,
origin: string,
stream: number,
) => void
,
): this
prependListener(
event: "origin",
listener: (origins: string[]) => void,
): this
prependListener(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
prependListener(
event: "stream",
listener: () => void,
): this
prependListener(
event: string | symbol,
listener: (...args: any[]) => void,
): this
prependOnceListener(
event: "altsvc",
listener: (
alt: string,
origin: string,
stream: number,
) => void
,
): this
prependOnceListener(
event: "origin",
listener: (origins: string[]) => void,
): this
prependOnceListener(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
prependOnceListener(
event: "stream",
listener: () => void,
): this
prependOnceListener(
event: string | symbol,
listener: (...args: any[]) => void,
): this