@fails-components/webtransport
Version:
A component to add webtransport support (server and client) to node.js using libquiche
65 lines • 2.56 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
export class Http2WebTransportServer {
/**
* @param {import('../../types.js').NativeServerOptions} args
*/
constructor(args: import('../../types.js').NativeServerOptions);
port: number;
secret: string;
host: string;
initialStreamFlowControlWindow: number;
initialSessionFlowControlWindow: number;
initialBidirectionalStreams: number;
initialUnidirectionalStreams: number;
streamShouldAutoTuneReceiveWindow: true;
streamFlowControlWindowSizeLimit: number;
sessionShouldAutoTuneReceiveWindow: true;
sessionFlowControlWindowSizeLimit: number;
/** @type {Record<string, boolean>} */
paths: Record<string, boolean>;
hasrequesthandler: boolean;
/** @type {import('../../session.js').HttpServer} */
jsobj: import('../../session.js').HttpServer;
canHandleSettings: boolean;
serverInt: import("http2").Http2SecureServer<typeof import("http").IncomingMessage, typeof import("http").ServerResponse, typeof import("http2").Http2ServerRequest, typeof import("http2").Http2ServerResponse>;
capsParser: WebSocketParser;
/**
* @param {import("http2").IncomingHttpHeaders} header
* @return {{websocketProt: string|undefined, webtransportProt?: string}}
*/
checkProtocolHeader(header: import("http2").IncomingHttpHeaders): {
websocketProt: string | undefined;
webtransportProt?: string;
};
startServer(): void;
stopServer(): void;
/**
* @param {string|string[]} cert
* @param {string|string[]} privKey
* @param {boolean} http2only
* */
updateCert(cert: string | string[], privKey: string | string[], http2only: boolean): void;
/**
* @param {boolean} isset
*/
setJSRequestHandler(isset: boolean): void;
/**
* @param {string} path
*/
addPath(path: string): void;
/**
* @param {{stream: import('net').Socket, header: any, protocol: string}} args
*/
sendHttp1Headers({ stream, header, protocol }: {
stream: import('net').Socket;
header: any;
protocol: string;
}): Promise<void>;
/**
* @param {import('../../types.js').NativeFinishSessionRequest} args
*/
finishSessionRequest({ header, peerAddress, userData, session: stream, status, protocol, head, path, transportPrivate, selectedProtocol }: import('../../types.js').NativeFinishSessionRequest): void;
}
import { WebSocketParser } from "./websocketparser.js";
//# sourceMappingURL=server.d.ts.map