Skip to main content
ServerHttp2Stream.pushStream - Node documentation
method ServerHttp2Stream.pushStream

Usage in Deno

import { type ServerHttp2Stream } from "node:http2";
ServerHttp2Stream.pushStream(
callback?: (
err: Error | null,
pushStream: ServerHttp2Stream,
) => void
,
): void

Initiates a push stream. The callback is invoked with the new Http2Streaminstance created for the push stream passed as the second argument, or anError passed as the first argument.

const http2 = require('node:http2');
const server = http2.createServer();
server.on('stream', (stream) => {
  stream.respond({ ':status': 200 });
  stream.pushStream({ ':path': '/' }, (err, pushStream, headers) => {
    if (err) throw err;
    pushStream.respond({ ':status': 200 });
    pushStream.end('some pushed data');
  });
  stream.end('some data');
});

Setting the weight of a push stream is not allowed in the HEADERS frame. Pass a weight value to http2stream.priority with the silent option set totrue to enable server-side bandwidth balancing between concurrent streams.

Calling http2stream.pushStream() from within a pushed stream is not permitted and will throw an error.

Parameters

optional
callback: (
err: Error | null,
pushStream: ServerHttp2Stream,
) => void

Callback that is called once the push stream has been initiated.

Return Type

void
ServerHttp2Stream.pushStream(
callback?: (
err: Error | null,
pushStream: ServerHttp2Stream,
) => void
,
): void

Parameters

optional
options: StreamPriorityOptions
optional
callback: (
err: Error | null,
pushStream: ServerHttp2Stream,
) => void

Return Type

void