UNPKG

@fails-components/webtransport

Version:

A component to add webtransport support (server and client) to node.js using libquiche

103 lines 3.38 kB
/// <reference types="node" /> /** * @implements {HttpServerEventHandler} */ export class HttpServer implements HttpServerEventHandler { /** * * @param {HttpServerInit} args */ constructor(args: HttpServerInit); args: import("./types").HttpServerInit; /** @type {Record<string, ReadableStream>} */ sessionStreams: Record<string, ReadableStream>; /** @type {Record<string, ReadableStreamDefaultController<HttpWTSession>>} */ sessionController: Record<string, ReadableStreamDefaultController<HttpWTSession>>; port: number | null; host: string | null; defaultDatagramsReadableMode_: "bytes"; /** @type {any} */ requestHandler: any; _ready: import("./types").Deferred<unknown>; ready: Promise<unknown>; _closed: import("./types").Deferred<unknown>; closed: Promise<unknown>; /** * @type {string[]} */ _pendingPaths: string[]; /** * @type {undefined|boolean} */ _pendingRequestCallback: undefined | boolean; startServer(): void; stopServer(): void; stopped: boolean | undefined; /** * @param {string} cert * @param {string} privKey * @param {boolean} http2only * */ updateCert(cert: string, privKey: string, http2only: boolean): void; /** * @returns {{ port: number, host: string, family: 'IPv4' | 'IPv6' } | null} */ address(): { port: number; host: string; family: 'IPv4' | 'IPv6'; } | null; /** * @param {any} callback */ setRequestCallback(callback: any): void; /** * @param {string} path * @param {object} [args] * @param {boolean} [args.noAutoPaths] * @returns {ReadableStream<WebTransportSession>} */ sessionStream(path: string, args?: { noAutoPaths?: boolean | undefined; } | undefined): ReadableStream<WebTransportSession>; /** * @param {ServerSessionRequestEvent} args */ onSessionRequest(args: ServerSessionRequestEvent): void; /** * @param {HttpWTServerSessionVisitorEvent} args */ onHttpWTSessionVisitor(args: HttpWTServerSessionVisitorEvent): void; /** * @param {Error} [error] */ onServerError(error?: Error | undefined): void; /** * @param {HttpServerListeningEvent} evt */ onServerListening(evt: HttpServerListeningEvent): void; /** */ onServerClose(): void; /** * @param{{path: string} |undefined} [args] **/ createTransportInt(args?: { path: string; } | undefined): Promise<void>; transportInt: any; } export class Http3Server extends HttpServer { } export class Http2Server extends HttpServer { } export type WebTransportSession = import('./types').WebTransportSessionImpl; export type NativeHttpWTSession = import('./types').NativeHttpWTSession; export type HttpServerEventHandler = import('./types').HttpServerEventHandler; export type HttpWTServerSessionVisitorEvent = import('./types').HttpWTServerSessionVisitorEvent; export type HttpServerListeningEvent = import('./types').HttpServerListeningEvent; export type ServerSessionRequestEvent = import('./types').ServerSessionRequestEvent; export type HttpServerInit = import('./types').HttpServerInit; import { ReadableStream } from "stream/web"; import { HttpWTSession } from "./session.js"; //# sourceMappingURL=server.d.ts.map