1declare module "http2" { 2 import * as events from "events"; 3 import * as fs from "fs"; 4 import * as net from "net"; 5 import * as stream from "stream"; 6 import * as tls from "tls"; 7 import * as url from "url"; 8 9 import { IncomingHttpHeaders as Http1IncomingHttpHeaders, OutgoingHttpHeaders, IncomingMessage, ServerResponse } from "http"; 10 export { OutgoingHttpHeaders } from "http"; 11 12 export interface IncomingHttpStatusHeader { 13 ":status"?: number; 14 } 15 16 export interface IncomingHttpHeaders extends Http1IncomingHttpHeaders { 17 ":path"?: string; 18 ":method"?: string; 19 ":authority"?: string; 20 ":scheme"?: string; 21 } 22 23 // Http2Stream 24 25 export interface StreamPriorityOptions { 26 exclusive?: boolean; 27 parent?: number; 28 weight?: number; 29 silent?: boolean; 30 } 31 32 export interface StreamState { 33 localWindowSize?: number; 34 state?: number; 35 localClose?: number; 36 remoteClose?: number; 37 sumDependencyWeight?: number; 38 weight?: number; 39 } 40 41 export interface ServerStreamResponseOptions { 42 endStream?: boolean; 43 waitForTrailers?: boolean; 44 } 45 46 export interface StatOptions { 47 offset: number; 48 length: number; 49 } 50 51 export interface ServerStreamFileResponseOptions { 52 statCheck?(stats: fs.Stats, headers: OutgoingHttpHeaders, statOptions: StatOptions): void | boolean; 53 waitForTrailers?: boolean; 54 offset?: number; 55 length?: number; 56 } 57 58 export interface ServerStreamFileResponseOptionsWithError extends ServerStreamFileResponseOptions { 59 onError?(err: NodeJS.ErrnoException): void; 60 } 61 62 export interface Http2Stream extends stream.Duplex { 63 readonly aborted: boolean; 64 readonly bufferSize: number; 65 readonly closed: boolean; 66 readonly destroyed: boolean; 67 /** 68 * Set the true if the END_STREAM flag was set in the request or response HEADERS frame received, 69 * indicating that no additional data should be received and the readable side of the Http2Stream will be closed. 70 */ 71 readonly endAfterHeaders: boolean; 72 readonly id?: number; 73 readonly pending: boolean; 74 readonly rstCode: number; 75 readonly sentHeaders: OutgoingHttpHeaders; 76 readonly sentInfoHeaders?: OutgoingHttpHeaders[]; 77 readonly sentTrailers?: OutgoingHttpHeaders; 78 readonly session: Http2Session; 79 readonly state: StreamState; 80 81 close(code?: number, callback?: () => void): void; 82 priority(options: StreamPriorityOptions): void; 83 setTimeout(msecs: number, callback?: () => void): void; 84 sendTrailers(headers: OutgoingHttpHeaders): void; 85 86 addListener(event: "aborted", listener: () => void): this; 87 addListener(event: "close", listener: () => void): this; 88 addListener(event: "data", listener: (chunk: Buffer | string) => void): this; 89 addListener(event: "drain", listener: () => void): this; 90 addListener(event: "end", listener: () => void): this; 91 addListener(event: "error", listener: (err: Error) => void): this; 92 addListener(event: "finish", listener: () => void): this; 93 addListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; 94 addListener(event: "pipe", listener: (src: stream.Readable) => void): this; 95 addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; 96 addListener(event: "streamClosed", listener: (code: number) => void): this; 97 addListener(event: "timeout", listener: () => void): this; 98 addListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; 99 addListener(event: "wantTrailers", listener: () => void): this; 100 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 101 102 emit(event: "aborted"): boolean; 103 emit(event: "close"): boolean; 104 emit(event: "data", chunk: Buffer | string): boolean; 105 emit(event: "drain"): boolean; 106 emit(event: "end"): boolean; 107 emit(event: "error", err: Error): boolean; 108 emit(event: "finish"): boolean; 109 emit(event: "frameError", frameType: number, errorCode: number): boolean; 110 emit(event: "pipe", src: stream.Readable): boolean; 111 emit(event: "unpipe", src: stream.Readable): boolean; 112 emit(event: "streamClosed", code: number): boolean; 113 emit(event: "timeout"): boolean; 114 emit(event: "trailers", trailers: IncomingHttpHeaders, flags: number): boolean; 115 emit(event: "wantTrailers"): boolean; 116 emit(event: string | symbol, ...args: any[]): boolean; 117 118 on(event: "aborted", listener: () => void): this; 119 on(event: "close", listener: () => void): this; 120 on(event: "data", listener: (chunk: Buffer | string) => void): this; 121 on(event: "drain", listener: () => void): this; 122 on(event: "end", listener: () => void): this; 123 on(event: "error", listener: (err: Error) => void): this; 124 on(event: "finish", listener: () => void): this; 125 on(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; 126 on(event: "pipe", listener: (src: stream.Readable) => void): this; 127 on(event: "unpipe", listener: (src: stream.Readable) => void): this; 128 on(event: "streamClosed", listener: (code: number) => void): this; 129 on(event: "timeout", listener: () => void): this; 130 on(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; 131 on(event: "wantTrailers", listener: () => void): this; 132 on(event: string | symbol, listener: (...args: any[]) => void): this; 133 134 once(event: "aborted", listener: () => void): this; 135 once(event: "close", listener: () => void): this; 136 once(event: "data", listener: (chunk: Buffer | string) => void): this; 137 once(event: "drain", listener: () => void): this; 138 once(event: "end", listener: () => void): this; 139 once(event: "error", listener: (err: Error) => void): this; 140 once(event: "finish", listener: () => void): this; 141 once(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; 142 once(event: "pipe", listener: (src: stream.Readable) => void): this; 143 once(event: "unpipe", listener: (src: stream.Readable) => void): this; 144 once(event: "streamClosed", listener: (code: number) => void): this; 145 once(event: "timeout", listener: () => void): this; 146 once(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; 147 once(event: "wantTrailers", listener: () => void): this; 148 once(event: string | symbol, listener: (...args: any[]) => void): this; 149 150 prependListener(event: "aborted", listener: () => void): this; 151 prependListener(event: "close", listener: () => void): this; 152 prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; 153 prependListener(event: "drain", listener: () => void): this; 154 prependListener(event: "end", listener: () => void): this; 155 prependListener(event: "error", listener: (err: Error) => void): this; 156 prependListener(event: "finish", listener: () => void): this; 157 prependListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; 158 prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; 159 prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; 160 prependListener(event: "streamClosed", listener: (code: number) => void): this; 161 prependListener(event: "timeout", listener: () => void): this; 162 prependListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; 163 prependListener(event: "wantTrailers", listener: () => void): this; 164 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 165 166 prependOnceListener(event: "aborted", listener: () => void): this; 167 prependOnceListener(event: "close", listener: () => void): this; 168 prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; 169 prependOnceListener(event: "drain", listener: () => void): this; 170 prependOnceListener(event: "end", listener: () => void): this; 171 prependOnceListener(event: "error", listener: (err: Error) => void): this; 172 prependOnceListener(event: "finish", listener: () => void): this; 173 prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number) => void): this; 174 prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; 175 prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; 176 prependOnceListener(event: "streamClosed", listener: (code: number) => void): this; 177 prependOnceListener(event: "timeout", listener: () => void): this; 178 prependOnceListener(event: "trailers", listener: (trailers: IncomingHttpHeaders, flags: number) => void): this; 179 prependOnceListener(event: "wantTrailers", listener: () => void): this; 180 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 181 } 182 183 export interface ClientHttp2Stream extends Http2Stream { 184 addListener(event: "continue", listener: () => {}): this; 185 addListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 186 addListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; 187 addListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 188 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 189 190 emit(event: "continue"): boolean; 191 emit(event: "headers", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; 192 emit(event: "push", headers: IncomingHttpHeaders, flags: number): boolean; 193 emit(event: "response", headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; 194 emit(event: string | symbol, ...args: any[]): boolean; 195 196 on(event: "continue", listener: () => {}): this; 197 on(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 198 on(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; 199 on(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 200 on(event: string | symbol, listener: (...args: any[]) => void): this; 201 202 once(event: "continue", listener: () => {}): this; 203 once(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 204 once(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; 205 once(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 206 once(event: string | symbol, listener: (...args: any[]) => void): this; 207 208 prependListener(event: "continue", listener: () => {}): this; 209 prependListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 210 prependListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; 211 prependListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 212 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 213 214 prependOnceListener(event: "continue", listener: () => {}): this; 215 prependOnceListener(event: "headers", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 216 prependOnceListener(event: "push", listener: (headers: IncomingHttpHeaders, flags: number) => void): this; 217 prependOnceListener(event: "response", listener: (headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 218 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 219 } 220 221 export interface ServerHttp2Stream extends Http2Stream { 222 readonly headersSent: boolean; 223 readonly pushAllowed: boolean; 224 additionalHeaders(headers: OutgoingHttpHeaders): void; 225 pushStream(headers: OutgoingHttpHeaders, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; 226 pushStream(headers: OutgoingHttpHeaders, options?: StreamPriorityOptions, callback?: (err: Error | null, pushStream: ServerHttp2Stream, headers: OutgoingHttpHeaders) => void): void; 227 respond(headers?: OutgoingHttpHeaders, options?: ServerStreamResponseOptions): void; 228 respondWithFD(fd: number | fs.promises.FileHandle, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptions): void; 229 respondWithFile(path: string, headers?: OutgoingHttpHeaders, options?: ServerStreamFileResponseOptionsWithError): void; 230 } 231 232 // Http2Session 233 234 export interface Settings { 235 headerTableSize?: number; 236 enablePush?: boolean; 237 initialWindowSize?: number; 238 maxFrameSize?: number; 239 maxConcurrentStreams?: number; 240 maxHeaderListSize?: number; 241 enableConnectProtocol?: boolean; 242 } 243 244 export interface ClientSessionRequestOptions { 245 endStream?: boolean; 246 exclusive?: boolean; 247 parent?: number; 248 weight?: number; 249 waitForTrailers?: boolean; 250 } 251 252 export interface SessionState { 253 effectiveLocalWindowSize?: number; 254 effectiveRecvDataLength?: number; 255 nextStreamID?: number; 256 localWindowSize?: number; 257 lastProcStreamID?: number; 258 remoteWindowSize?: number; 259 outboundQueueSize?: number; 260 deflateDynamicTableSize?: number; 261 inflateDynamicTableSize?: number; 262 } 263 264 export interface Http2Session extends events.EventEmitter { 265 readonly alpnProtocol?: string; 266 readonly closed: boolean; 267 readonly connecting: boolean; 268 readonly destroyed: boolean; 269 readonly encrypted?: boolean; 270 readonly localSettings: Settings; 271 readonly originSet?: string[]; 272 readonly pendingSettingsAck: boolean; 273 readonly remoteSettings: Settings; 274 readonly socket: net.Socket | tls.TLSSocket; 275 readonly state: SessionState; 276 readonly type: number; 277 278 close(callback?: () => void): void; 279 destroy(error?: Error, code?: number): void; 280 goaway(code?: number, lastStreamID?: number, opaqueData?: NodeJS.ArrayBufferView): void; 281 ping(callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; 282 ping(payload: NodeJS.ArrayBufferView, callback: (err: Error | null, duration: number, payload: Buffer) => void): boolean; 283 ref(): void; 284 setTimeout(msecs: number, callback?: () => void): void; 285 settings(settings: Settings): void; 286 unref(): void; 287 288 addListener(event: "close", listener: () => void): this; 289 addListener(event: "error", listener: (err: Error) => void): this; 290 addListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; 291 addListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; 292 addListener(event: "localSettings", listener: (settings: Settings) => void): this; 293 addListener(event: "ping", listener: () => void): this; 294 addListener(event: "remoteSettings", listener: (settings: Settings) => void): this; 295 addListener(event: "timeout", listener: () => void): this; 296 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 297 298 emit(event: "close"): boolean; 299 emit(event: "error", err: Error): boolean; 300 emit(event: "frameError", frameType: number, errorCode: number, streamID: number): boolean; 301 emit(event: "goaway", errorCode: number, lastStreamID: number, opaqueData: Buffer): boolean; 302 emit(event: "localSettings", settings: Settings): boolean; 303 emit(event: "ping"): boolean; 304 emit(event: "remoteSettings", settings: Settings): boolean; 305 emit(event: "timeout"): boolean; 306 emit(event: string | symbol, ...args: any[]): boolean; 307 308 on(event: "close", listener: () => void): this; 309 on(event: "error", listener: (err: Error) => void): this; 310 on(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; 311 on(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; 312 on(event: "localSettings", listener: (settings: Settings) => void): this; 313 on(event: "ping", listener: () => void): this; 314 on(event: "remoteSettings", listener: (settings: Settings) => void): this; 315 on(event: "timeout", listener: () => void): this; 316 on(event: string | symbol, listener: (...args: any[]) => void): this; 317 318 once(event: "close", listener: () => void): this; 319 once(event: "error", listener: (err: Error) => void): this; 320 once(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; 321 once(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; 322 once(event: "localSettings", listener: (settings: Settings) => void): this; 323 once(event: "ping", listener: () => void): this; 324 once(event: "remoteSettings", listener: (settings: Settings) => void): this; 325 once(event: "timeout", listener: () => void): this; 326 once(event: string | symbol, listener: (...args: any[]) => void): this; 327 328 prependListener(event: "close", listener: () => void): this; 329 prependListener(event: "error", listener: (err: Error) => void): this; 330 prependListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; 331 prependListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; 332 prependListener(event: "localSettings", listener: (settings: Settings) => void): this; 333 prependListener(event: "ping", listener: () => void): this; 334 prependListener(event: "remoteSettings", listener: (settings: Settings) => void): this; 335 prependListener(event: "timeout", listener: () => void): this; 336 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 337 338 prependOnceListener(event: "close", listener: () => void): this; 339 prependOnceListener(event: "error", listener: (err: Error) => void): this; 340 prependOnceListener(event: "frameError", listener: (frameType: number, errorCode: number, streamID: number) => void): this; 341 prependOnceListener(event: "goaway", listener: (errorCode: number, lastStreamID: number, opaqueData: Buffer) => void): this; 342 prependOnceListener(event: "localSettings", listener: (settings: Settings) => void): this; 343 prependOnceListener(event: "ping", listener: () => void): this; 344 prependOnceListener(event: "remoteSettings", listener: (settings: Settings) => void): this; 345 prependOnceListener(event: "timeout", listener: () => void): this; 346 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 347 } 348 349 export interface ClientHttp2Session extends Http2Session { 350 request(headers?: OutgoingHttpHeaders, options?: ClientSessionRequestOptions): ClientHttp2Stream; 351 352 addListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; 353 addListener(event: "origin", listener: (origins: string[]) => void): this; 354 addListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 355 addListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 356 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 357 358 emit(event: "altsvc", alt: string, origin: string, stream: number): boolean; 359 emit(event: "origin", origins: string[]): boolean; 360 emit(event: "connect", session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; 361 emit(event: "stream", stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number): boolean; 362 emit(event: string | symbol, ...args: any[]): boolean; 363 364 on(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; 365 on(event: "origin", listener: (origins: string[]) => void): this; 366 on(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 367 on(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 368 on(event: string | symbol, listener: (...args: any[]) => void): this; 369 370 once(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; 371 once(event: "origin", listener: (origins: string[]) => void): this; 372 once(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 373 once(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 374 once(event: string | symbol, listener: (...args: any[]) => void): this; 375 376 prependListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; 377 prependListener(event: "origin", listener: (origins: string[]) => void): this; 378 prependListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 379 prependListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 380 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 381 382 prependOnceListener(event: "altsvc", listener: (alt: string, origin: string, stream: number) => void): this; 383 prependOnceListener(event: "origin", listener: (origins: string[]) => void): this; 384 prependOnceListener(event: "connect", listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 385 prependOnceListener(event: "stream", listener: (stream: ClientHttp2Stream, headers: IncomingHttpHeaders & IncomingHttpStatusHeader, flags: number) => void): this; 386 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 387 } 388 389 export interface AlternativeServiceOptions { 390 origin: number | string | url.URL; 391 } 392 393 export interface ServerHttp2Session extends Http2Session { 394 readonly server: Http2Server | Http2SecureServer; 395 396 altsvc(alt: string, originOrStream: number | string | url.URL | AlternativeServiceOptions): void; 397 origin(...args: Array<string | url.URL | { origin: string }>): void; 398 399 addListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 400 addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 401 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 402 403 emit(event: "connect", session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket): boolean; 404 emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; 405 emit(event: string | symbol, ...args: any[]): boolean; 406 407 on(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 408 on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 409 on(event: string | symbol, listener: (...args: any[]) => void): this; 410 411 once(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 412 once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 413 once(event: string | symbol, listener: (...args: any[]) => void): this; 414 415 prependListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 416 prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 417 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 418 419 prependOnceListener(event: "connect", listener: (session: ServerHttp2Session, socket: net.Socket | tls.TLSSocket) => void): this; 420 prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 421 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 422 } 423 424 // Http2Server 425 426 export interface SessionOptions { 427 maxDeflateDynamicTableSize?: number; 428 maxSessionMemory?: number; 429 maxHeaderListPairs?: number; 430 maxOutstandingPings?: number; 431 maxSendHeaderBlockLength?: number; 432 paddingStrategy?: number; 433 peerMaxConcurrentStreams?: number; 434 settings?: Settings; 435 436 selectPadding?(frameLen: number, maxFrameLen: number): number; 437 createConnection?(authority: url.URL, option: SessionOptions): stream.Duplex; 438 } 439 440 export interface ClientSessionOptions extends SessionOptions { 441 maxReservedRemoteStreams?: number; 442 createConnection?: (authority: url.URL, option: SessionOptions) => stream.Duplex; 443 protocol?: 'http:' | 'https:'; 444 } 445 446 export interface ServerSessionOptions extends SessionOptions { 447 Http1IncomingMessage?: typeof IncomingMessage; 448 Http1ServerResponse?: typeof ServerResponse; 449 Http2ServerRequest?: typeof Http2ServerRequest; 450 Http2ServerResponse?: typeof Http2ServerResponse; 451 } 452 453 export interface SecureClientSessionOptions extends ClientSessionOptions, tls.ConnectionOptions { } 454 export interface SecureServerSessionOptions extends ServerSessionOptions, tls.TlsOptions { } 455 456 export interface ServerOptions extends ServerSessionOptions { } 457 458 export interface SecureServerOptions extends SecureServerSessionOptions { 459 allowHTTP1?: boolean; 460 origins?: string[]; 461 } 462 463 export interface Http2Server extends net.Server { 464 addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 465 addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 466 addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; 467 addListener(event: "sessionError", listener: (err: Error) => void): this; 468 addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 469 addListener(event: "timeout", listener: () => void): this; 470 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 471 472 emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; 473 emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; 474 emit(event: "session", session: ServerHttp2Session): boolean; 475 emit(event: "sessionError", err: Error): boolean; 476 emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; 477 emit(event: "timeout"): boolean; 478 emit(event: string | symbol, ...args: any[]): boolean; 479 480 on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 481 on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 482 on(event: "session", listener: (session: ServerHttp2Session) => void): this; 483 on(event: "sessionError", listener: (err: Error) => void): this; 484 on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 485 on(event: "timeout", listener: () => void): this; 486 on(event: string | symbol, listener: (...args: any[]) => void): this; 487 488 once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 489 once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 490 once(event: "session", listener: (session: ServerHttp2Session) => void): this; 491 once(event: "sessionError", listener: (err: Error) => void): this; 492 once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 493 once(event: "timeout", listener: () => void): this; 494 once(event: string | symbol, listener: (...args: any[]) => void): this; 495 496 prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 497 prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 498 prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; 499 prependListener(event: "sessionError", listener: (err: Error) => void): this; 500 prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 501 prependListener(event: "timeout", listener: () => void): this; 502 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 503 504 prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 505 prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 506 prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; 507 prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; 508 prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 509 prependOnceListener(event: "timeout", listener: () => void): this; 510 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 511 512 setTimeout(msec?: number, callback?: () => void): this; 513 } 514 515 export interface Http2SecureServer extends tls.Server { 516 addListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 517 addListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 518 addListener(event: "session", listener: (session: ServerHttp2Session) => void): this; 519 addListener(event: "sessionError", listener: (err: Error) => void): this; 520 addListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 521 addListener(event: "timeout", listener: () => void): this; 522 addListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; 523 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 524 525 emit(event: "checkContinue", request: Http2ServerRequest, response: Http2ServerResponse): boolean; 526 emit(event: "request", request: Http2ServerRequest, response: Http2ServerResponse): boolean; 527 emit(event: "session", session: ServerHttp2Session): boolean; 528 emit(event: "sessionError", err: Error): boolean; 529 emit(event: "stream", stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number): boolean; 530 emit(event: "timeout"): boolean; 531 emit(event: "unknownProtocol", socket: tls.TLSSocket): boolean; 532 emit(event: string | symbol, ...args: any[]): boolean; 533 534 on(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 535 on(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 536 on(event: "session", listener: (session: ServerHttp2Session) => void): this; 537 on(event: "sessionError", listener: (err: Error) => void): this; 538 on(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 539 on(event: "timeout", listener: () => void): this; 540 on(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; 541 on(event: string | symbol, listener: (...args: any[]) => void): this; 542 543 once(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 544 once(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 545 once(event: "session", listener: (session: ServerHttp2Session) => void): this; 546 once(event: "sessionError", listener: (err: Error) => void): this; 547 once(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 548 once(event: "timeout", listener: () => void): this; 549 once(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; 550 once(event: string | symbol, listener: (...args: any[]) => void): this; 551 552 prependListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 553 prependListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 554 prependListener(event: "session", listener: (session: ServerHttp2Session) => void): this; 555 prependListener(event: "sessionError", listener: (err: Error) => void): this; 556 prependListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 557 prependListener(event: "timeout", listener: () => void): this; 558 prependListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; 559 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 560 561 prependOnceListener(event: "checkContinue", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 562 prependOnceListener(event: "request", listener: (request: Http2ServerRequest, response: Http2ServerResponse) => void): this; 563 prependOnceListener(event: "session", listener: (session: ServerHttp2Session) => void): this; 564 prependOnceListener(event: "sessionError", listener: (err: Error) => void): this; 565 prependOnceListener(event: "stream", listener: (stream: ServerHttp2Stream, headers: IncomingHttpHeaders, flags: number) => void): this; 566 prependOnceListener(event: "timeout", listener: () => void): this; 567 prependOnceListener(event: "unknownProtocol", listener: (socket: tls.TLSSocket) => void): this; 568 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 569 570 setTimeout(msec?: number, callback?: () => void): this; 571 } 572 573 export class Http2ServerRequest extends stream.Readable { 574 constructor(stream: ServerHttp2Stream, headers: IncomingHttpHeaders, options: stream.ReadableOptions, rawHeaders: string[]); 575 576 readonly aborted: boolean; 577 readonly authority: string; 578 readonly headers: IncomingHttpHeaders; 579 readonly httpVersion: string; 580 readonly method: string; 581 readonly rawHeaders: string[]; 582 readonly rawTrailers: string[]; 583 readonly scheme: string; 584 readonly socket: net.Socket | tls.TLSSocket; 585 readonly stream: ServerHttp2Stream; 586 readonly trailers: IncomingHttpHeaders; 587 readonly url: string; 588 589 setTimeout(msecs: number, callback?: () => void): void; 590 read(size?: number): Buffer | string | null; 591 592 addListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; 593 addListener(event: "close", listener: () => void): this; 594 addListener(event: "data", listener: (chunk: Buffer | string) => void): this; 595 addListener(event: "end", listener: () => void): this; 596 addListener(event: "readable", listener: () => void): this; 597 addListener(event: "error", listener: (err: Error) => void): this; 598 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 599 600 emit(event: "aborted", hadError: boolean, code: number): boolean; 601 emit(event: "close"): boolean; 602 emit(event: "data", chunk: Buffer | string): boolean; 603 emit(event: "end"): boolean; 604 emit(event: "readable"): boolean; 605 emit(event: "error", err: Error): boolean; 606 emit(event: string | symbol, ...args: any[]): boolean; 607 608 on(event: "aborted", listener: (hadError: boolean, code: number) => void): this; 609 on(event: "close", listener: () => void): this; 610 on(event: "data", listener: (chunk: Buffer | string) => void): this; 611 on(event: "end", listener: () => void): this; 612 on(event: "readable", listener: () => void): this; 613 on(event: "error", listener: (err: Error) => void): this; 614 on(event: string | symbol, listener: (...args: any[]) => void): this; 615 616 once(event: "aborted", listener: (hadError: boolean, code: number) => void): this; 617 once(event: "close", listener: () => void): this; 618 once(event: "data", listener: (chunk: Buffer | string) => void): this; 619 once(event: "end", listener: () => void): this; 620 once(event: "readable", listener: () => void): this; 621 once(event: "error", listener: (err: Error) => void): this; 622 once(event: string | symbol, listener: (...args: any[]) => void): this; 623 624 prependListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; 625 prependListener(event: "close", listener: () => void): this; 626 prependListener(event: "data", listener: (chunk: Buffer | string) => void): this; 627 prependListener(event: "end", listener: () => void): this; 628 prependListener(event: "readable", listener: () => void): this; 629 prependListener(event: "error", listener: (err: Error) => void): this; 630 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 631 632 prependOnceListener(event: "aborted", listener: (hadError: boolean, code: number) => void): this; 633 prependOnceListener(event: "close", listener: () => void): this; 634 prependOnceListener(event: "data", listener: (chunk: Buffer | string) => void): this; 635 prependOnceListener(event: "end", listener: () => void): this; 636 prependOnceListener(event: "readable", listener: () => void): this; 637 prependOnceListener(event: "error", listener: (err: Error) => void): this; 638 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 639 } 640 641 export class Http2ServerResponse extends stream.Stream { 642 constructor(stream: ServerHttp2Stream); 643 644 readonly connection: net.Socket | tls.TLSSocket; 645 readonly finished: boolean; 646 readonly headersSent: boolean; 647 readonly socket: net.Socket | tls.TLSSocket; 648 readonly stream: ServerHttp2Stream; 649 sendDate: boolean; 650 statusCode: number; 651 statusMessage: ''; 652 addTrailers(trailers: OutgoingHttpHeaders): void; 653 end(callback?: () => void): void; 654 end(data: string | Uint8Array, callback?: () => void): void; 655 end(data: string | Uint8Array, encoding: BufferEncoding, callback?: () => void): void; 656 getHeader(name: string): string; 657 getHeaderNames(): string[]; 658 getHeaders(): OutgoingHttpHeaders; 659 hasHeader(name: string): boolean; 660 removeHeader(name: string): void; 661 setHeader(name: string, value: number | string | string[]): void; 662 setTimeout(msecs: number, callback?: () => void): void; 663 write(chunk: string | Uint8Array, callback?: (err: Error) => void): boolean; 664 write(chunk: string | Uint8Array, encoding: BufferEncoding, callback?: (err: Error) => void): boolean; 665 writeContinue(): void; 666 writeHead(statusCode: number, headers?: OutgoingHttpHeaders): this; 667 writeHead(statusCode: number, statusMessage: string, headers?: OutgoingHttpHeaders): this; 668 createPushResponse(headers: OutgoingHttpHeaders, callback: (err: Error | null, res: Http2ServerResponse) => void): void; 669 670 addListener(event: "close", listener: () => void): this; 671 addListener(event: "drain", listener: () => void): this; 672 addListener(event: "error", listener: (error: Error) => void): this; 673 addListener(event: "finish", listener: () => void): this; 674 addListener(event: "pipe", listener: (src: stream.Readable) => void): this; 675 addListener(event: "unpipe", listener: (src: stream.Readable) => void): this; 676 addListener(event: string | symbol, listener: (...args: any[]) => void): this; 677 678 emit(event: "close"): boolean; 679 emit(event: "drain"): boolean; 680 emit(event: "error", error: Error): boolean; 681 emit(event: "finish"): boolean; 682 emit(event: "pipe", src: stream.Readable): boolean; 683 emit(event: "unpipe", src: stream.Readable): boolean; 684 emit(event: string | symbol, ...args: any[]): boolean; 685 686 on(event: "close", listener: () => void): this; 687 on(event: "drain", listener: () => void): this; 688 on(event: "error", listener: (error: Error) => void): this; 689 on(event: "finish", listener: () => void): this; 690 on(event: "pipe", listener: (src: stream.Readable) => void): this; 691 on(event: "unpipe", listener: (src: stream.Readable) => void): this; 692 on(event: string | symbol, listener: (...args: any[]) => void): this; 693 694 once(event: "close", listener: () => void): this; 695 once(event: "drain", listener: () => void): this; 696 once(event: "error", listener: (error: Error) => void): this; 697 once(event: "finish", listener: () => void): this; 698 once(event: "pipe", listener: (src: stream.Readable) => void): this; 699 once(event: "unpipe", listener: (src: stream.Readable) => void): this; 700 once(event: string | symbol, listener: (...args: any[]) => void): this; 701 702 prependListener(event: "close", listener: () => void): this; 703 prependListener(event: "drain", listener: () => void): this; 704 prependListener(event: "error", listener: (error: Error) => void): this; 705 prependListener(event: "finish", listener: () => void): this; 706 prependListener(event: "pipe", listener: (src: stream.Readable) => void): this; 707 prependListener(event: "unpipe", listener: (src: stream.Readable) => void): this; 708 prependListener(event: string | symbol, listener: (...args: any[]) => void): this; 709 710 prependOnceListener(event: "close", listener: () => void): this; 711 prependOnceListener(event: "drain", listener: () => void): this; 712 prependOnceListener(event: "error", listener: (error: Error) => void): this; 713 prependOnceListener(event: "finish", listener: () => void): this; 714 prependOnceListener(event: "pipe", listener: (src: stream.Readable) => void): this; 715 prependOnceListener(event: "unpipe", listener: (src: stream.Readable) => void): this; 716 prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): this; 717 } 718 719 // Public API 720 721 export namespace constants { 722 const NGHTTP2_SESSION_SERVER: number; 723 const NGHTTP2_SESSION_CLIENT: number; 724 const NGHTTP2_STREAM_STATE_IDLE: number; 725 const NGHTTP2_STREAM_STATE_OPEN: number; 726 const NGHTTP2_STREAM_STATE_RESERVED_LOCAL: number; 727 const NGHTTP2_STREAM_STATE_RESERVED_REMOTE: number; 728 const NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: number; 729 const NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: number; 730 const NGHTTP2_STREAM_STATE_CLOSED: number; 731 const NGHTTP2_NO_ERROR: number; 732 const NGHTTP2_PROTOCOL_ERROR: number; 733 const NGHTTP2_INTERNAL_ERROR: number; 734 const NGHTTP2_FLOW_CONTROL_ERROR: number; 735 const NGHTTP2_SETTINGS_TIMEOUT: number; 736 const NGHTTP2_STREAM_CLOSED: number; 737 const NGHTTP2_FRAME_SIZE_ERROR: number; 738 const NGHTTP2_REFUSED_STREAM: number; 739 const NGHTTP2_CANCEL: number; 740 const NGHTTP2_COMPRESSION_ERROR: number; 741 const NGHTTP2_CONNECT_ERROR: number; 742 const NGHTTP2_ENHANCE_YOUR_CALM: number; 743 const NGHTTP2_INADEQUATE_SECURITY: number; 744 const NGHTTP2_HTTP_1_1_REQUIRED: number; 745 const NGHTTP2_ERR_FRAME_SIZE_ERROR: number; 746 const NGHTTP2_FLAG_NONE: number; 747 const NGHTTP2_FLAG_END_STREAM: number; 748 const NGHTTP2_FLAG_END_HEADERS: number; 749 const NGHTTP2_FLAG_ACK: number; 750 const NGHTTP2_FLAG_PADDED: number; 751 const NGHTTP2_FLAG_PRIORITY: number; 752 const DEFAULT_SETTINGS_HEADER_TABLE_SIZE: number; 753 const DEFAULT_SETTINGS_ENABLE_PUSH: number; 754 const DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: number; 755 const DEFAULT_SETTINGS_MAX_FRAME_SIZE: number; 756 const MAX_MAX_FRAME_SIZE: number; 757 const MIN_MAX_FRAME_SIZE: number; 758 const MAX_INITIAL_WINDOW_SIZE: number; 759 const NGHTTP2_DEFAULT_WEIGHT: number; 760 const NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: number; 761 const NGHTTP2_SETTINGS_ENABLE_PUSH: number; 762 const NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: number; 763 const NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: number; 764 const NGHTTP2_SETTINGS_MAX_FRAME_SIZE: number; 765 const NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: number; 766 const PADDING_STRATEGY_NONE: number; 767 const PADDING_STRATEGY_MAX: number; 768 const PADDING_STRATEGY_CALLBACK: number; 769 const HTTP2_HEADER_STATUS: string; 770 const HTTP2_HEADER_METHOD: string; 771 const HTTP2_HEADER_AUTHORITY: string; 772 const HTTP2_HEADER_SCHEME: string; 773 const HTTP2_HEADER_PATH: string; 774 const HTTP2_HEADER_ACCEPT_CHARSET: string; 775 const HTTP2_HEADER_ACCEPT_ENCODING: string; 776 const HTTP2_HEADER_ACCEPT_LANGUAGE: string; 777 const HTTP2_HEADER_ACCEPT_RANGES: string; 778 const HTTP2_HEADER_ACCEPT: string; 779 const HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: string; 780 const HTTP2_HEADER_AGE: string; 781 const HTTP2_HEADER_ALLOW: string; 782 const HTTP2_HEADER_AUTHORIZATION: string; 783 const HTTP2_HEADER_CACHE_CONTROL: string; 784 const HTTP2_HEADER_CONNECTION: string; 785 const HTTP2_HEADER_CONTENT_DISPOSITION: string; 786 const HTTP2_HEADER_CONTENT_ENCODING: string; 787 const HTTP2_HEADER_CONTENT_LANGUAGE: string; 788 const HTTP2_HEADER_CONTENT_LENGTH: string; 789 const HTTP2_HEADER_CONTENT_LOCATION: string; 790 const HTTP2_HEADER_CONTENT_MD5: string; 791 const HTTP2_HEADER_CONTENT_RANGE: string; 792 const HTTP2_HEADER_CONTENT_TYPE: string; 793 const HTTP2_HEADER_COOKIE: string; 794 const HTTP2_HEADER_DATE: string; 795 const HTTP2_HEADER_ETAG: string; 796 const HTTP2_HEADER_EXPECT: string; 797 const HTTP2_HEADER_EXPIRES: string; 798 const HTTP2_HEADER_FROM: string; 799 const HTTP2_HEADER_HOST: string; 800 const HTTP2_HEADER_IF_MATCH: string; 801 const HTTP2_HEADER_IF_MODIFIED_SINCE: string; 802 const HTTP2_HEADER_IF_NONE_MATCH: string; 803 const HTTP2_HEADER_IF_RANGE: string; 804 const HTTP2_HEADER_IF_UNMODIFIED_SINCE: string; 805 const HTTP2_HEADER_LAST_MODIFIED: string; 806 const HTTP2_HEADER_LINK: string; 807 const HTTP2_HEADER_LOCATION: string; 808 const HTTP2_HEADER_MAX_FORWARDS: string; 809 const HTTP2_HEADER_PREFER: string; 810 const HTTP2_HEADER_PROXY_AUTHENTICATE: string; 811 const HTTP2_HEADER_PROXY_AUTHORIZATION: string; 812 const HTTP2_HEADER_RANGE: string; 813 const HTTP2_HEADER_REFERER: string; 814 const HTTP2_HEADER_REFRESH: string; 815 const HTTP2_HEADER_RETRY_AFTER: string; 816 const HTTP2_HEADER_SERVER: string; 817 const HTTP2_HEADER_SET_COOKIE: string; 818 const HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: string; 819 const HTTP2_HEADER_TRANSFER_ENCODING: string; 820 const HTTP2_HEADER_TE: string; 821 const HTTP2_HEADER_UPGRADE: string; 822 const HTTP2_HEADER_USER_AGENT: string; 823 const HTTP2_HEADER_VARY: string; 824 const HTTP2_HEADER_VIA: string; 825 const HTTP2_HEADER_WWW_AUTHENTICATE: string; 826 const HTTP2_HEADER_HTTP2_SETTINGS: string; 827 const HTTP2_HEADER_KEEP_ALIVE: string; 828 const HTTP2_HEADER_PROXY_CONNECTION: string; 829 const HTTP2_METHOD_ACL: string; 830 const HTTP2_METHOD_BASELINE_CONTROL: string; 831 const HTTP2_METHOD_BIND: string; 832 const HTTP2_METHOD_CHECKIN: string; 833 const HTTP2_METHOD_CHECKOUT: string; 834 const HTTP2_METHOD_CONNECT: string; 835 const HTTP2_METHOD_COPY: string; 836 const HTTP2_METHOD_DELETE: string; 837 const HTTP2_METHOD_GET: string; 838 const HTTP2_METHOD_HEAD: string; 839 const HTTP2_METHOD_LABEL: string; 840 const HTTP2_METHOD_LINK: string; 841 const HTTP2_METHOD_LOCK: string; 842 const HTTP2_METHOD_MERGE: string; 843 const HTTP2_METHOD_MKACTIVITY: string; 844 const HTTP2_METHOD_MKCALENDAR: string; 845 const HTTP2_METHOD_MKCOL: string; 846 const HTTP2_METHOD_MKREDIRECTREF: string; 847 const HTTP2_METHOD_MKWORKSPACE: string; 848 const HTTP2_METHOD_MOVE: string; 849 const HTTP2_METHOD_OPTIONS: string; 850 const HTTP2_METHOD_ORDERPATCH: string; 851 const HTTP2_METHOD_PATCH: string; 852 const HTTP2_METHOD_POST: string; 853 const HTTP2_METHOD_PRI: string; 854 const HTTP2_METHOD_PROPFIND: string; 855 const HTTP2_METHOD_PROPPATCH: string; 856 const HTTP2_METHOD_PUT: string; 857 const HTTP2_METHOD_REBIND: string; 858 const HTTP2_METHOD_REPORT: string; 859 const HTTP2_METHOD_SEARCH: string; 860 const HTTP2_METHOD_TRACE: string; 861 const HTTP2_METHOD_UNBIND: string; 862 const HTTP2_METHOD_UNCHECKOUT: string; 863 const HTTP2_METHOD_UNLINK: string; 864 const HTTP2_METHOD_UNLOCK: string; 865 const HTTP2_METHOD_UPDATE: string; 866 const HTTP2_METHOD_UPDATEREDIRECTREF: string; 867 const HTTP2_METHOD_VERSION_CONTROL: string; 868 const HTTP_STATUS_CONTINUE: number; 869 const HTTP_STATUS_SWITCHING_PROTOCOLS: number; 870 const HTTP_STATUS_PROCESSING: number; 871 const HTTP_STATUS_OK: number; 872 const HTTP_STATUS_CREATED: number; 873 const HTTP_STATUS_ACCEPTED: number; 874 const HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: number; 875 const HTTP_STATUS_NO_CONTENT: number; 876 const HTTP_STATUS_RESET_CONTENT: number; 877 const HTTP_STATUS_PARTIAL_CONTENT: number; 878 const HTTP_STATUS_MULTI_STATUS: number; 879 const HTTP_STATUS_ALREADY_REPORTED: number; 880 const HTTP_STATUS_IM_USED: number; 881 const HTTP_STATUS_MULTIPLE_CHOICES: number; 882 const HTTP_STATUS_MOVED_PERMANENTLY: number; 883 const HTTP_STATUS_FOUND: number; 884 const HTTP_STATUS_SEE_OTHER: number; 885 const HTTP_STATUS_NOT_MODIFIED: number; 886 const HTTP_STATUS_USE_PROXY: number; 887 const HTTP_STATUS_TEMPORARY_REDIRECT: number; 888 const HTTP_STATUS_PERMANENT_REDIRECT: number; 889 const HTTP_STATUS_BAD_REQUEST: number; 890 const HTTP_STATUS_UNAUTHORIZED: number; 891 const HTTP_STATUS_PAYMENT_REQUIRED: number; 892 const HTTP_STATUS_FORBIDDEN: number; 893 const HTTP_STATUS_NOT_FOUND: number; 894 const HTTP_STATUS_METHOD_NOT_ALLOWED: number; 895 const HTTP_STATUS_NOT_ACCEPTABLE: number; 896 const HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: number; 897 const HTTP_STATUS_REQUEST_TIMEOUT: number; 898 const HTTP_STATUS_CONFLICT: number; 899 const HTTP_STATUS_GONE: number; 900 const HTTP_STATUS_LENGTH_REQUIRED: number; 901 const HTTP_STATUS_PRECONDITION_FAILED: number; 902 const HTTP_STATUS_PAYLOAD_TOO_LARGE: number; 903 const HTTP_STATUS_URI_TOO_LONG: number; 904 const HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: number; 905 const HTTP_STATUS_RANGE_NOT_SATISFIABLE: number; 906 const HTTP_STATUS_EXPECTATION_FAILED: number; 907 const HTTP_STATUS_TEAPOT: number; 908 const HTTP_STATUS_MISDIRECTED_REQUEST: number; 909 const HTTP_STATUS_UNPROCESSABLE_ENTITY: number; 910 const HTTP_STATUS_LOCKED: number; 911 const HTTP_STATUS_FAILED_DEPENDENCY: number; 912 const HTTP_STATUS_UNORDERED_COLLECTION: number; 913 const HTTP_STATUS_UPGRADE_REQUIRED: number; 914 const HTTP_STATUS_PRECONDITION_REQUIRED: number; 915 const HTTP_STATUS_TOO_MANY_REQUESTS: number; 916 const HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: number; 917 const HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: number; 918 const HTTP_STATUS_INTERNAL_SERVER_ERROR: number; 919 const HTTP_STATUS_NOT_IMPLEMENTED: number; 920 const HTTP_STATUS_BAD_GATEWAY: number; 921 const HTTP_STATUS_SERVICE_UNAVAILABLE: number; 922 const HTTP_STATUS_GATEWAY_TIMEOUT: number; 923 const HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: number; 924 const HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: number; 925 const HTTP_STATUS_INSUFFICIENT_STORAGE: number; 926 const HTTP_STATUS_LOOP_DETECTED: number; 927 const HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: number; 928 const HTTP_STATUS_NOT_EXTENDED: number; 929 const HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: number; 930 } 931 932 export function getDefaultSettings(): Settings; 933 export function getPackedSettings(settings: Settings): Buffer; 934 export function getUnpackedSettings(buf: Uint8Array): Settings; 935 936 export function createServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; 937 export function createServer(options: ServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2Server; 938 939 export function createSecureServer(onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; 940 export function createSecureServer(options: SecureServerOptions, onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): Http2SecureServer; 941 942 export function connect(authority: string | url.URL, listener: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void): ClientHttp2Session; 943 export function connect( 944 authority: string | url.URL, 945 options?: ClientSessionOptions | SecureClientSessionOptions, 946 listener?: (session: ClientHttp2Session, socket: net.Socket | tls.TLSSocket) => void 947 ): ClientHttp2Session; 948} 949