Skip to main content

ServerHttp2Session

interface ServerHttp2Session
extends Http2Session

Deno compatibility

All methods are non-functional stubs.

Type Parameters Jump to heading

Properties Jump to heading

Jump to headingaltsvc(
alt: string,
originOrStream:
number
| string
| url.URL
| AlternativeServiceOptions
,
): void

Submits an ALTSVC frame (as defined by RFC 7838) to the connected client.

import http2 from 'node:http2';

const server = http2.createServer();
server.on('session', (session) => {
  // Set altsvc for origin https://example.org:80
  session.altsvc('h2=":8000"', 'https://example.org:80');
});

server.on('stream', (stream) => {
  // Set altsvc for a specific stream
  stream.session.altsvc('h2=":8000"', stream.id);
});

Sending an ALTSVC frame with a specific stream ID indicates that the alternate service is associated with the origin of the given Http2Stream.

The alt and origin string must contain only ASCII bytes and are strictly interpreted as a sequence of ASCII bytes. The special value 'clear'may be passed to clear any previously set alternative service for a given domain.

When a string is passed for the originOrStream argument, it will be parsed as a URL and the origin will be derived. For instance, the origin for the HTTP URL 'https://example.org/foo/bar' is the ASCII string'https://example.org'. An error will be thrown if either the given string cannot be parsed as a URL or if a valid origin cannot be derived.

A URL object, or any object with an origin property, may be passed asoriginOrStream, in which case the value of the origin property will be used. The value of the origin property must be a properly serialized ASCII origin.

Jump to headingorigin(...origins: Array<
string
| url.URL
| { origin: string; }
>
): void

Submits an ORIGIN frame (as defined by RFC 8336) to the connected client to advertise the set of origins for which the server is capable of providing authoritative responses.

import http2 from 'node:http2';
const options = getSecureOptionsSomehow();
const server = http2.createSecureServer(options);
server.on('stream', (stream) => {
  stream.respond();
  stream.end('ok');
});
server.on('session', (session) => {
  session.origin('https://example.com', 'https://example.org');
});

When a string is passed as an origin, it will be parsed as a URL and the origin will be derived. For instance, the origin for the HTTP URL 'https://example.org/foo/bar' is the ASCII string 'https://example.org'. An error will be thrown if either the given string cannot be parsed as a URL or if a valid origin cannot be derived.

A URL object, or any object with an origin property, may be passed as an origin, in which case the value of the origin property will be used. The value of the origin property must be a properly serialized ASCII origin.

Alternatively, the origins option may be used when creating a new HTTP/2 server using the http2.createSecureServer() method:

import http2 from 'node:http2';
const options = getSecureOptionsSomehow();
options.origins = ['https://example.com', 'https://example.org'];
const server = http2.createSecureServer(options);
server.on('stream', (stream) => {
  stream.respond();
  stream.end('ok');
});
Jump to headingaddListener(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
Jump to headingaddListener(
event: "stream",
listener: (
flags: number,
) => void
,
): this
Jump to headingaddListener(
event: string | symbol,
listener: (...args: any[]) => void,
): this
Jump to headingemit(
event: "connect",
socket: net.Socket | tls.TLSSocket,
): boolean
Jump to headingemit(
event: "stream",
flags: number,
): boolean
Jump to headingemit(
event: string | symbol,
...args: any[],
): boolean
Jump to headingon(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
Jump to headingon(
event: "stream",
listener: (
flags: number,
) => void
,
): this
Jump to headingon(
event: string | symbol,
listener: (...args: any[]) => void,
): this
Jump to headingonce(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
Jump to headingonce(
event: "stream",
listener: (
flags: number,
) => void
,
): this
Jump to headingonce(
event: string | symbol,
listener: (...args: any[]) => void,
): this
Jump to headingprependListener(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
Jump to headingprependListener(
event: "stream",
listener: (
flags: number,
) => void
,
): this
Jump to headingprependListener(
event: string | symbol,
listener: (...args: any[]) => void,
): this
Jump to headingprependOnceListener(
event: "connect",
listener: (
socket: net.Socket | tls.TLSSocket,
) => void
,
): this
Jump to headingprependOnceListener(
event: "stream",
listener: (
flags: number,
) => void
,
): this
Jump to headingprependOnceListener(
event: string | symbol,
listener: (...args: any[]) => void,
): this
Back to top