@gjsify/http2 0.1.15 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,365 +1,12 @@
1
- import { EventEmitter } from 'node:events';
2
- export declare const constants: {
3
- readonly NGHTTP2_NO_ERROR: 0;
4
- readonly NGHTTP2_PROTOCOL_ERROR: 1;
5
- readonly NGHTTP2_INTERNAL_ERROR: 2;
6
- readonly NGHTTP2_FLOW_CONTROL_ERROR: 3;
7
- readonly NGHTTP2_SETTINGS_TIMEOUT: 4;
8
- readonly NGHTTP2_STREAM_CLOSED: 5;
9
- readonly NGHTTP2_FRAME_SIZE_ERROR: 6;
10
- readonly NGHTTP2_REFUSED_STREAM: 7;
11
- readonly NGHTTP2_CANCEL: 8;
12
- readonly NGHTTP2_COMPRESSION_ERROR: 9;
13
- readonly NGHTTP2_CONNECT_ERROR: 10;
14
- readonly NGHTTP2_ENHANCE_YOUR_CALM: 11;
15
- readonly NGHTTP2_INADEQUATE_SECURITY: 12;
16
- readonly NGHTTP2_HTTP_1_1_REQUIRED: 13;
17
- readonly NGHTTP2_ERR_FRAME_SIZE_ERROR: -522;
18
- readonly NGHTTP2_ERR_DEFERRED: -508;
19
- readonly NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE: -509;
20
- readonly NGHTTP2_ERR_INVALID_ARGUMENT: -501;
21
- readonly NGHTTP2_ERR_STREAM_CLOSED: -510;
22
- readonly NGHTTP2_ERR_NOMEM: -901;
23
- readonly NGHTTP2_SESSION_SERVER: 0;
24
- readonly NGHTTP2_SESSION_CLIENT: 1;
25
- readonly NGHTTP2_STREAM_STATE_IDLE: 1;
26
- readonly NGHTTP2_STREAM_STATE_OPEN: 2;
27
- readonly NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3;
28
- readonly NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4;
29
- readonly NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5;
30
- readonly NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6;
31
- readonly NGHTTP2_STREAM_STATE_CLOSED: 7;
32
- readonly NGHTTP2_FLAG_NONE: 0;
33
- readonly NGHTTP2_FLAG_END_STREAM: 1;
34
- readonly NGHTTP2_FLAG_END_HEADERS: 4;
35
- readonly NGHTTP2_FLAG_ACK: 1;
36
- readonly NGHTTP2_FLAG_PADDED: 8;
37
- readonly NGHTTP2_FLAG_PRIORITY: 32;
38
- readonly NGHTTP2_HCAT_REQUEST: 0;
39
- readonly NGHTTP2_HCAT_RESPONSE: 1;
40
- readonly NGHTTP2_HCAT_PUSH_RESPONSE: 2;
41
- readonly NGHTTP2_HCAT_HEADERS: 3;
42
- readonly NGHTTP2_NV_FLAG_NONE: 0;
43
- readonly NGHTTP2_NV_FLAG_NO_INDEX: 1;
44
- readonly NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1;
45
- readonly NGHTTP2_SETTINGS_ENABLE_PUSH: 2;
46
- readonly NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3;
47
- readonly NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4;
48
- readonly NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5;
49
- readonly NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6;
50
- readonly NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8;
51
- readonly DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096;
52
- readonly DEFAULT_SETTINGS_ENABLE_PUSH: 1;
53
- readonly DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295;
54
- readonly DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535;
55
- readonly DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384;
56
- readonly DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535;
57
- readonly DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0;
58
- readonly MAX_MAX_FRAME_SIZE: 16777215;
59
- readonly MIN_MAX_FRAME_SIZE: 16384;
60
- readonly MAX_INITIAL_WINDOW_SIZE: 2147483647;
61
- readonly NGHTTP2_DEFAULT_WEIGHT: 16;
62
- readonly PADDING_STRATEGY_NONE: 0;
63
- readonly PADDING_STRATEGY_ALIGNED: 1;
64
- readonly PADDING_STRATEGY_MAX: 2;
65
- readonly PADDING_STRATEGY_CALLBACK: 1;
66
- readonly HTTP2_HEADER_STATUS: ":status";
67
- readonly HTTP2_HEADER_METHOD: ":method";
68
- readonly HTTP2_HEADER_AUTHORITY: ":authority";
69
- readonly HTTP2_HEADER_SCHEME: ":scheme";
70
- readonly HTTP2_HEADER_PATH: ":path";
71
- readonly HTTP2_HEADER_PROTOCOL: ":protocol";
72
- readonly HTTP2_HEADER_ACCEPT: "accept";
73
- readonly HTTP2_HEADER_ACCEPT_CHARSET: "accept-charset";
74
- readonly HTTP2_HEADER_ACCEPT_ENCODING: "accept-encoding";
75
- readonly HTTP2_HEADER_ACCEPT_LANGUAGE: "accept-language";
76
- readonly HTTP2_HEADER_ACCEPT_RANGES: "accept-ranges";
77
- readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: "access-control-allow-credentials";
78
- readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: "access-control-allow-headers";
79
- readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: "access-control-allow-methods";
80
- readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: "access-control-allow-origin";
81
- readonly HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: "access-control-expose-headers";
82
- readonly HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: "access-control-max-age";
83
- readonly HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: "access-control-request-headers";
84
- readonly HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: "access-control-request-method";
85
- readonly HTTP2_HEADER_AGE: "age";
86
- readonly HTTP2_HEADER_ALLOW: "allow";
87
- readonly HTTP2_HEADER_ALT_SVC: "alt-svc";
88
- readonly HTTP2_HEADER_AUTHORIZATION: "authorization";
89
- readonly HTTP2_HEADER_CACHE_CONTROL: "cache-control";
90
- readonly HTTP2_HEADER_CONNECTION: "connection";
91
- readonly HTTP2_HEADER_CONTENT_DISPOSITION: "content-disposition";
92
- readonly HTTP2_HEADER_CONTENT_ENCODING: "content-encoding";
93
- readonly HTTP2_HEADER_CONTENT_LANGUAGE: "content-language";
94
- readonly HTTP2_HEADER_CONTENT_LENGTH: "content-length";
95
- readonly HTTP2_HEADER_CONTENT_LOCATION: "content-location";
96
- readonly HTTP2_HEADER_CONTENT_MD5: "content-md5";
97
- readonly HTTP2_HEADER_CONTENT_RANGE: "content-range";
98
- readonly HTTP2_HEADER_CONTENT_SECURITY_POLICY: "content-security-policy";
99
- readonly HTTP2_HEADER_CONTENT_TYPE: "content-type";
100
- readonly HTTP2_HEADER_COOKIE: "cookie";
101
- readonly HTTP2_HEADER_DATE: "date";
102
- readonly HTTP2_HEADER_DNT: "dnt";
103
- readonly HTTP2_HEADER_EARLY_DATA: "early-data";
104
- readonly HTTP2_HEADER_ETAG: "etag";
105
- readonly HTTP2_HEADER_EXPECT: "expect";
106
- readonly HTTP2_HEADER_EXPECT_CT: "expect-ct";
107
- readonly HTTP2_HEADER_EXPIRES: "expires";
108
- readonly HTTP2_HEADER_FORWARDED: "forwarded";
109
- readonly HTTP2_HEADER_FROM: "from";
110
- readonly HTTP2_HEADER_HOST: "host";
111
- readonly HTTP2_HEADER_HTTP2_SETTINGS: "http2-settings";
112
- readonly HTTP2_HEADER_IF_MATCH: "if-match";
113
- readonly HTTP2_HEADER_IF_MODIFIED_SINCE: "if-modified-since";
114
- readonly HTTP2_HEADER_IF_NONE_MATCH: "if-none-match";
115
- readonly HTTP2_HEADER_IF_RANGE: "if-range";
116
- readonly HTTP2_HEADER_IF_UNMODIFIED_SINCE: "if-unmodified-since";
117
- readonly HTTP2_HEADER_KEEP_ALIVE: "keep-alive";
118
- readonly HTTP2_HEADER_LAST_MODIFIED: "last-modified";
119
- readonly HTTP2_HEADER_LINK: "link";
120
- readonly HTTP2_HEADER_LOCATION: "location";
121
- readonly HTTP2_HEADER_MAX_FORWARDS: "max-forwards";
122
- readonly HTTP2_HEADER_ORIGIN: "origin";
123
- readonly HTTP2_HEADER_PREFER: "prefer";
124
- readonly HTTP2_HEADER_PRIORITY: "priority";
125
- readonly HTTP2_HEADER_PROXY_AUTHENTICATE: "proxy-authenticate";
126
- readonly HTTP2_HEADER_PROXY_AUTHORIZATION: "proxy-authorization";
127
- readonly HTTP2_HEADER_PROXY_CONNECTION: "proxy-connection";
128
- readonly HTTP2_HEADER_RANGE: "range";
129
- readonly HTTP2_HEADER_REFERER: "referer";
130
- readonly HTTP2_HEADER_REFRESH: "refresh";
131
- readonly HTTP2_HEADER_RETRY_AFTER: "retry-after";
132
- readonly HTTP2_HEADER_SERVER: "server";
133
- readonly HTTP2_HEADER_SET_COOKIE: "set-cookie";
134
- readonly HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: "strict-transport-security";
135
- readonly HTTP2_HEADER_TE: "te";
136
- readonly HTTP2_HEADER_TIMING_ALLOW_ORIGIN: "timing-allow-origin";
137
- readonly HTTP2_HEADER_TRAILER: "trailer";
138
- readonly HTTP2_HEADER_TRANSFER_ENCODING: "transfer-encoding";
139
- readonly HTTP2_HEADER_TK: "tk";
140
- readonly HTTP2_HEADER_UPGRADE: "upgrade";
141
- readonly HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: "upgrade-insecure-requests";
142
- readonly HTTP2_HEADER_USER_AGENT: "user-agent";
143
- readonly HTTP2_HEADER_VARY: "vary";
144
- readonly HTTP2_HEADER_VIA: "via";
145
- readonly HTTP2_HEADER_WARNING: "warning";
146
- readonly HTTP2_HEADER_WWW_AUTHENTICATE: "www-authenticate";
147
- readonly HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: "x-content-type-options";
148
- readonly HTTP2_HEADER_X_FORWARDED_FOR: "x-forwarded-for";
149
- readonly HTTP2_HEADER_X_FRAME_OPTIONS: "x-frame-options";
150
- readonly HTTP2_HEADER_X_XSS_PROTECTION: "x-xss-protection";
151
- readonly HTTP2_HEADER_PURPOSE: "purpose";
152
- readonly HTTP2_METHOD_ACL: "ACL";
153
- readonly HTTP2_METHOD_BASELINE_CONTROL: "BASELINE-CONTROL";
154
- readonly HTTP2_METHOD_BIND: "BIND";
155
- readonly HTTP2_METHOD_CHECKIN: "CHECKIN";
156
- readonly HTTP2_METHOD_CHECKOUT: "CHECKOUT";
157
- readonly HTTP2_METHOD_CONNECT: "CONNECT";
158
- readonly HTTP2_METHOD_COPY: "COPY";
159
- readonly HTTP2_METHOD_DELETE: "DELETE";
160
- readonly HTTP2_METHOD_GET: "GET";
161
- readonly HTTP2_METHOD_HEAD: "HEAD";
162
- readonly HTTP2_METHOD_LABEL: "LABEL";
163
- readonly HTTP2_METHOD_LINK: "LINK";
164
- readonly HTTP2_METHOD_LOCK: "LOCK";
165
- readonly HTTP2_METHOD_MERGE: "MERGE";
166
- readonly HTTP2_METHOD_MKACTIVITY: "MKACTIVITY";
167
- readonly HTTP2_METHOD_MKCALENDAR: "MKCALENDAR";
168
- readonly HTTP2_METHOD_MKCOL: "MKCOL";
169
- readonly HTTP2_METHOD_MKREDIRECTREF: "MKREDIRECTREF";
170
- readonly HTTP2_METHOD_MKWORKSPACE: "MKWORKSPACE";
171
- readonly HTTP2_METHOD_MOVE: "MOVE";
172
- readonly HTTP2_METHOD_OPTIONS: "OPTIONS";
173
- readonly HTTP2_METHOD_ORDERPATCH: "ORDERPATCH";
174
- readonly HTTP2_METHOD_PATCH: "PATCH";
175
- readonly HTTP2_METHOD_POST: "POST";
176
- readonly HTTP2_METHOD_PRI: "PRI";
177
- readonly HTTP2_METHOD_PROPFIND: "PROPFIND";
178
- readonly HTTP2_METHOD_PROPPATCH: "PROPPATCH";
179
- readonly HTTP2_METHOD_PUT: "PUT";
180
- readonly HTTP2_METHOD_REBIND: "REBIND";
181
- readonly HTTP2_METHOD_REPORT: "REPORT";
182
- readonly HTTP2_METHOD_SEARCH: "SEARCH";
183
- readonly HTTP2_METHOD_TRACE: "TRACE";
184
- readonly HTTP2_METHOD_UNBIND: "UNBIND";
185
- readonly HTTP2_METHOD_UNCHECKOUT: "UNCHECKOUT";
186
- readonly HTTP2_METHOD_UNLINK: "UNLINK";
187
- readonly HTTP2_METHOD_UNLOCK: "UNLOCK";
188
- readonly HTTP2_METHOD_UPDATE: "UPDATE";
189
- readonly HTTP2_METHOD_UPDATEREDIRECTREF: "UPDATEREDIRECTREF";
190
- readonly HTTP2_METHOD_VERSION_CONTROL: "VERSION-CONTROL";
191
- readonly HTTP_STATUS_CONTINUE: 100;
192
- readonly HTTP_STATUS_SWITCHING_PROTOCOLS: 101;
193
- readonly HTTP_STATUS_PROCESSING: 102;
194
- readonly HTTP_STATUS_EARLY_HINTS: 103;
195
- readonly HTTP_STATUS_OK: 200;
196
- readonly HTTP_STATUS_CREATED: 201;
197
- readonly HTTP_STATUS_ACCEPTED: 202;
198
- readonly HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203;
199
- readonly HTTP_STATUS_NO_CONTENT: 204;
200
- readonly HTTP_STATUS_RESET_CONTENT: 205;
201
- readonly HTTP_STATUS_PARTIAL_CONTENT: 206;
202
- readonly HTTP_STATUS_MULTI_STATUS: 207;
203
- readonly HTTP_STATUS_ALREADY_REPORTED: 208;
204
- readonly HTTP_STATUS_IM_USED: 226;
205
- readonly HTTP_STATUS_MULTIPLE_CHOICES: 300;
206
- readonly HTTP_STATUS_MOVED_PERMANENTLY: 301;
207
- readonly HTTP_STATUS_FOUND: 302;
208
- readonly HTTP_STATUS_SEE_OTHER: 303;
209
- readonly HTTP_STATUS_NOT_MODIFIED: 304;
210
- readonly HTTP_STATUS_USE_PROXY: 305;
211
- readonly HTTP_STATUS_TEMPORARY_REDIRECT: 307;
212
- readonly HTTP_STATUS_PERMANENT_REDIRECT: 308;
213
- readonly HTTP_STATUS_BAD_REQUEST: 400;
214
- readonly HTTP_STATUS_UNAUTHORIZED: 401;
215
- readonly HTTP_STATUS_PAYMENT_REQUIRED: 402;
216
- readonly HTTP_STATUS_FORBIDDEN: 403;
217
- readonly HTTP_STATUS_NOT_FOUND: 404;
218
- readonly HTTP_STATUS_METHOD_NOT_ALLOWED: 405;
219
- readonly HTTP_STATUS_NOT_ACCEPTABLE: 406;
220
- readonly HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407;
221
- readonly HTTP_STATUS_REQUEST_TIMEOUT: 408;
222
- readonly HTTP_STATUS_CONFLICT: 409;
223
- readonly HTTP_STATUS_GONE: 410;
224
- readonly HTTP_STATUS_LENGTH_REQUIRED: 411;
225
- readonly HTTP_STATUS_PRECONDITION_FAILED: 412;
226
- readonly HTTP_STATUS_PAYLOAD_TOO_LARGE: 413;
227
- readonly HTTP_STATUS_URI_TOO_LONG: 414;
228
- readonly HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415;
229
- readonly HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416;
230
- readonly HTTP_STATUS_EXPECTATION_FAILED: 417;
231
- readonly HTTP_STATUS_TEAPOT: 418;
232
- readonly HTTP_STATUS_MISDIRECTED_REQUEST: 421;
233
- readonly HTTP_STATUS_UNPROCESSABLE_ENTITY: 422;
234
- readonly HTTP_STATUS_LOCKED: 423;
235
- readonly HTTP_STATUS_FAILED_DEPENDENCY: 424;
236
- readonly HTTP_STATUS_TOO_EARLY: 425;
237
- readonly HTTP_STATUS_UPGRADE_REQUIRED: 426;
238
- readonly HTTP_STATUS_PRECONDITION_REQUIRED: 428;
239
- readonly HTTP_STATUS_TOO_MANY_REQUESTS: 429;
240
- readonly HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431;
241
- readonly HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451;
242
- readonly HTTP_STATUS_INTERNAL_SERVER_ERROR: 500;
243
- readonly HTTP_STATUS_NOT_IMPLEMENTED: 501;
244
- readonly HTTP_STATUS_BAD_GATEWAY: 502;
245
- readonly HTTP_STATUS_SERVICE_UNAVAILABLE: 503;
246
- readonly HTTP_STATUS_GATEWAY_TIMEOUT: 504;
247
- readonly HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505;
248
- readonly HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506;
249
- readonly HTTP_STATUS_INSUFFICIENT_STORAGE: 507;
250
- readonly HTTP_STATUS_LOOP_DETECTED: 508;
251
- readonly HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509;
252
- readonly HTTP_STATUS_NOT_EXTENDED: 510;
253
- readonly HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511;
254
- };
255
- export interface Http2Settings {
256
- headerTableSize?: number;
257
- enablePush?: boolean;
258
- maxConcurrentStreams?: number;
259
- initialWindowSize?: number;
260
- maxFrameSize?: number;
261
- maxHeaderListSize?: number;
262
- enableConnectProtocol?: boolean;
263
- }
264
- export declare function getDefaultSettings(): Http2Settings;
265
- export declare function getPackedSettings(settings?: Http2Settings): Uint8Array;
266
- export declare function getUnpackedSettings(buf: Uint8Array | ArrayBuffer): Http2Settings;
267
- export declare class Http2Session extends EventEmitter {
268
- readonly alpnProtocol: string | undefined;
269
- readonly encrypted: boolean;
270
- readonly type: number;
271
- private _closed;
272
- private _destroyed;
273
- private _settings;
274
- constructor();
275
- get closed(): boolean;
276
- get destroyed(): boolean;
277
- get connecting(): boolean;
278
- get pendingSettingsAck(): boolean;
279
- get localSettings(): Http2Settings;
280
- get remoteSettings(): Http2Settings;
281
- settings(settings: Http2Settings, callback?: () => void): void;
282
- goaway(code?: number, _lastStreamId?: number, _data?: Uint8Array): void;
283
- ping(payload?: Uint8Array, callback?: (err: Error | null, duration: number, payload: Uint8Array) => void): boolean;
284
- close(callback?: () => void): void;
285
- destroy(error?: Error, code?: number): void;
286
- ref(): void;
287
- unref(): void;
288
- }
289
- export declare class ServerHttp2Session extends Http2Session {
290
- readonly type: 0;
291
- altsvc(_alt: string, _originOrStream: string | number): void;
292
- origin(..._origins: string[]): void;
293
- }
294
- export declare class ClientHttp2Session extends Http2Session {
295
- request(_headers?: Record<string, string | string[]>, _options?: unknown): Http2Stream;
296
- }
297
- export declare class Http2Stream extends EventEmitter {
298
- readonly id: number;
299
- readonly session: Http2Session | null;
300
- readonly sentHeaders: Record<string, string | string[]>;
301
- readonly sentInfoHeaders: Record<string, string | string[]>[];
302
- private _closed;
303
- private _destroyed;
304
- private _state;
305
- get closed(): boolean;
306
- get destroyed(): boolean;
307
- get pending(): boolean;
308
- get state(): number;
309
- get endAfterHeaders(): boolean;
310
- get bufferSize(): number;
311
- get rstCode(): number;
312
- close(code?: number, callback?: () => void): void;
313
- destroy(error?: Error): void;
314
- priority(_options: {
315
- exclusive?: boolean;
316
- parent?: number;
317
- weight?: number;
318
- silent?: boolean;
319
- }): void;
320
- setTimeout(msecs: number, callback?: () => void): void;
321
- }
322
- export declare class ServerHttp2Stream extends Http2Stream {
323
- readonly headersSent: boolean;
324
- readonly pushAllowed: boolean;
325
- respond(_headers?: Record<string, string | string[] | number>, _options?: unknown): void;
326
- respondWithFD(_fd: number | unknown, _headers?: Record<string, string | string[]>, _options?: unknown): void;
327
- respondWithFile(_path: string, _headers?: Record<string, string | string[]>, _options?: unknown): void;
328
- pushStream(_headers: Record<string, string | string[]>, _options: unknown, _callback: (err: Error | null, pushStream: ServerHttp2Stream, headers: Record<string, string | string[]>) => void): void;
329
- additionalHeaders(_headers: Record<string, string | string[]>): void;
330
- }
331
- export declare class ClientHttp2Stream extends Http2Stream {
332
- }
333
- export declare class Http2ServerRequest extends EventEmitter {
334
- readonly headers: Record<string, string | string[] | undefined>;
335
- readonly httpVersion: string;
336
- readonly method: string;
337
- readonly url: string;
338
- readonly stream: Http2Stream | null;
339
- readonly authority: string;
340
- readonly scheme: string;
341
- get complete(): boolean;
342
- setTimeout(msecs: number, callback?: () => void): this;
343
- }
344
- export declare class Http2ServerResponse extends EventEmitter {
345
- statusCode: number;
346
- readonly stream: Http2Stream | null;
347
- readonly headersSent: boolean;
348
- private _headers;
349
- setHeader(name: string, value: string | string[] | number): this;
350
- getHeader(name: string): string | string[] | number | undefined;
351
- getHeaders(): Record<string, string | string[] | number>;
352
- removeHeader(name: string): void;
353
- hasHeader(name: string): boolean;
354
- writeHead(statusCode: number, headers?: Record<string, string | string[] | number>): this;
355
- end(_data?: string | Uint8Array, _encoding?: string, _callback?: () => void): this;
356
- write(_chunk: string | Uint8Array, _encoding?: string, _callback?: () => void): boolean;
357
- createPushResponse(_headers: Record<string, string | string[]>, _callback: (err: Error | null, res: Http2ServerResponse) => void): void;
358
- setTimeout(msecs: number, callback?: () => void): this;
359
- }
360
- export declare function createServer(_options?: Record<string, unknown>, _onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): unknown;
361
- export declare function createSecureServer(_options?: Record<string, unknown>, _onRequestHandler?: (request: Http2ServerRequest, response: Http2ServerResponse) => void): unknown;
362
- export declare function connect(_authority: string | URL, _options?: Record<string, unknown>, _listener?: (session: ClientHttp2Session) => void): ClientHttp2Session;
1
+ export { constants, getDefaultSettings, getPackedSettings, getUnpackedSettings, type Http2Settings, } from './protocol.js';
2
+ import { getDefaultSettings, getPackedSettings, getUnpackedSettings } from './protocol.js';
3
+ export { Http2ServerRequest, Http2ServerResponse, ServerHttp2Stream, ServerHttp2Session, Http2Server, Http2SecureServer, type ServerOptions, type SecureServerOptions, } from './server.js';
4
+ import { Http2ServerRequest, Http2ServerResponse, ServerHttp2Stream, ServerHttp2Session, Http2Server, Http2SecureServer, type ServerOptions, type SecureServerOptions } from './server.js';
5
+ export { Http2Session, ClientHttp2Session, ClientHttp2Stream, type ClientSessionOptions, type ClientStreamOptions, } from './client-session.js';
6
+ import { Http2Session, ClientHttp2Session, ClientHttp2Stream, type ClientSessionOptions } from './client-session.js';
7
+ export declare function createServer(options?: ServerOptions | ((req: Http2ServerRequest, res: Http2ServerResponse) => void), handler?: (req: Http2ServerRequest, res: Http2ServerResponse) => void): Http2Server;
8
+ export declare function createSecureServer(options: SecureServerOptions, handler?: (req: Http2ServerRequest, res: Http2ServerResponse) => void): Http2SecureServer;
9
+ export declare function connect(authority: string | URL, options?: ClientSessionOptions | ((session: ClientHttp2Session, socket: any) => void), listener?: (session: ClientHttp2Session, socket: any) => void): ClientHttp2Session;
363
10
  export declare const sensitiveHeaders: unique symbol;
364
11
  export declare function performServerHandshake(_socket: unknown): unknown;
365
12
  declare const _default: {
@@ -625,12 +272,13 @@ declare const _default: {
625
272
  sensitiveHeaders: symbol;
626
273
  performServerHandshake: typeof performServerHandshake;
627
274
  Http2Session: typeof Http2Session;
628
- Http2Stream: typeof Http2Stream;
275
+ Http2Server: typeof Http2Server;
276
+ Http2SecureServer: typeof Http2SecureServer;
277
+ Http2ServerRequest: typeof Http2ServerRequest;
278
+ Http2ServerResponse: typeof Http2ServerResponse;
629
279
  ServerHttp2Session: typeof ServerHttp2Session;
630
- ClientHttp2Session: typeof ClientHttp2Session;
631
280
  ServerHttp2Stream: typeof ServerHttp2Stream;
281
+ ClientHttp2Session: typeof ClientHttp2Session;
632
282
  ClientHttp2Stream: typeof ClientHttp2Stream;
633
- Http2ServerRequest: typeof Http2ServerRequest;
634
- Http2ServerResponse: typeof Http2ServerResponse;
635
283
  };
636
284
  export default _default;
@@ -0,0 +1,265 @@
1
+ export declare const constants: {
2
+ readonly NGHTTP2_NO_ERROR: 0;
3
+ readonly NGHTTP2_PROTOCOL_ERROR: 1;
4
+ readonly NGHTTP2_INTERNAL_ERROR: 2;
5
+ readonly NGHTTP2_FLOW_CONTROL_ERROR: 3;
6
+ readonly NGHTTP2_SETTINGS_TIMEOUT: 4;
7
+ readonly NGHTTP2_STREAM_CLOSED: 5;
8
+ readonly NGHTTP2_FRAME_SIZE_ERROR: 6;
9
+ readonly NGHTTP2_REFUSED_STREAM: 7;
10
+ readonly NGHTTP2_CANCEL: 8;
11
+ readonly NGHTTP2_COMPRESSION_ERROR: 9;
12
+ readonly NGHTTP2_CONNECT_ERROR: 10;
13
+ readonly NGHTTP2_ENHANCE_YOUR_CALM: 11;
14
+ readonly NGHTTP2_INADEQUATE_SECURITY: 12;
15
+ readonly NGHTTP2_HTTP_1_1_REQUIRED: 13;
16
+ readonly NGHTTP2_ERR_FRAME_SIZE_ERROR: -522;
17
+ readonly NGHTTP2_ERR_DEFERRED: -508;
18
+ readonly NGHTTP2_ERR_STREAM_ID_NOT_AVAILABLE: -509;
19
+ readonly NGHTTP2_ERR_INVALID_ARGUMENT: -501;
20
+ readonly NGHTTP2_ERR_STREAM_CLOSED: -510;
21
+ readonly NGHTTP2_ERR_NOMEM: -901;
22
+ readonly NGHTTP2_SESSION_SERVER: 0;
23
+ readonly NGHTTP2_SESSION_CLIENT: 1;
24
+ readonly NGHTTP2_STREAM_STATE_IDLE: 1;
25
+ readonly NGHTTP2_STREAM_STATE_OPEN: 2;
26
+ readonly NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3;
27
+ readonly NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4;
28
+ readonly NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5;
29
+ readonly NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6;
30
+ readonly NGHTTP2_STREAM_STATE_CLOSED: 7;
31
+ readonly NGHTTP2_FLAG_NONE: 0;
32
+ readonly NGHTTP2_FLAG_END_STREAM: 1;
33
+ readonly NGHTTP2_FLAG_END_HEADERS: 4;
34
+ readonly NGHTTP2_FLAG_ACK: 1;
35
+ readonly NGHTTP2_FLAG_PADDED: 8;
36
+ readonly NGHTTP2_FLAG_PRIORITY: 32;
37
+ readonly NGHTTP2_HCAT_REQUEST: 0;
38
+ readonly NGHTTP2_HCAT_RESPONSE: 1;
39
+ readonly NGHTTP2_HCAT_PUSH_RESPONSE: 2;
40
+ readonly NGHTTP2_HCAT_HEADERS: 3;
41
+ readonly NGHTTP2_NV_FLAG_NONE: 0;
42
+ readonly NGHTTP2_NV_FLAG_NO_INDEX: 1;
43
+ readonly NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1;
44
+ readonly NGHTTP2_SETTINGS_ENABLE_PUSH: 2;
45
+ readonly NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3;
46
+ readonly NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4;
47
+ readonly NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5;
48
+ readonly NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6;
49
+ readonly NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8;
50
+ readonly DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096;
51
+ readonly DEFAULT_SETTINGS_ENABLE_PUSH: 1;
52
+ readonly DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295;
53
+ readonly DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535;
54
+ readonly DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384;
55
+ readonly DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535;
56
+ readonly DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0;
57
+ readonly MAX_MAX_FRAME_SIZE: 16777215;
58
+ readonly MIN_MAX_FRAME_SIZE: 16384;
59
+ readonly MAX_INITIAL_WINDOW_SIZE: 2147483647;
60
+ readonly NGHTTP2_DEFAULT_WEIGHT: 16;
61
+ readonly PADDING_STRATEGY_NONE: 0;
62
+ readonly PADDING_STRATEGY_ALIGNED: 1;
63
+ readonly PADDING_STRATEGY_MAX: 2;
64
+ readonly PADDING_STRATEGY_CALLBACK: 1;
65
+ readonly HTTP2_HEADER_STATUS: ":status";
66
+ readonly HTTP2_HEADER_METHOD: ":method";
67
+ readonly HTTP2_HEADER_AUTHORITY: ":authority";
68
+ readonly HTTP2_HEADER_SCHEME: ":scheme";
69
+ readonly HTTP2_HEADER_PATH: ":path";
70
+ readonly HTTP2_HEADER_PROTOCOL: ":protocol";
71
+ readonly HTTP2_HEADER_ACCEPT: "accept";
72
+ readonly HTTP2_HEADER_ACCEPT_CHARSET: "accept-charset";
73
+ readonly HTTP2_HEADER_ACCEPT_ENCODING: "accept-encoding";
74
+ readonly HTTP2_HEADER_ACCEPT_LANGUAGE: "accept-language";
75
+ readonly HTTP2_HEADER_ACCEPT_RANGES: "accept-ranges";
76
+ readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: "access-control-allow-credentials";
77
+ readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: "access-control-allow-headers";
78
+ readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: "access-control-allow-methods";
79
+ readonly HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: "access-control-allow-origin";
80
+ readonly HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: "access-control-expose-headers";
81
+ readonly HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: "access-control-max-age";
82
+ readonly HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: "access-control-request-headers";
83
+ readonly HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: "access-control-request-method";
84
+ readonly HTTP2_HEADER_AGE: "age";
85
+ readonly HTTP2_HEADER_ALLOW: "allow";
86
+ readonly HTTP2_HEADER_ALT_SVC: "alt-svc";
87
+ readonly HTTP2_HEADER_AUTHORIZATION: "authorization";
88
+ readonly HTTP2_HEADER_CACHE_CONTROL: "cache-control";
89
+ readonly HTTP2_HEADER_CONNECTION: "connection";
90
+ readonly HTTP2_HEADER_CONTENT_DISPOSITION: "content-disposition";
91
+ readonly HTTP2_HEADER_CONTENT_ENCODING: "content-encoding";
92
+ readonly HTTP2_HEADER_CONTENT_LANGUAGE: "content-language";
93
+ readonly HTTP2_HEADER_CONTENT_LENGTH: "content-length";
94
+ readonly HTTP2_HEADER_CONTENT_LOCATION: "content-location";
95
+ readonly HTTP2_HEADER_CONTENT_MD5: "content-md5";
96
+ readonly HTTP2_HEADER_CONTENT_RANGE: "content-range";
97
+ readonly HTTP2_HEADER_CONTENT_SECURITY_POLICY: "content-security-policy";
98
+ readonly HTTP2_HEADER_CONTENT_TYPE: "content-type";
99
+ readonly HTTP2_HEADER_COOKIE: "cookie";
100
+ readonly HTTP2_HEADER_DATE: "date";
101
+ readonly HTTP2_HEADER_DNT: "dnt";
102
+ readonly HTTP2_HEADER_EARLY_DATA: "early-data";
103
+ readonly HTTP2_HEADER_ETAG: "etag";
104
+ readonly HTTP2_HEADER_EXPECT: "expect";
105
+ readonly HTTP2_HEADER_EXPECT_CT: "expect-ct";
106
+ readonly HTTP2_HEADER_EXPIRES: "expires";
107
+ readonly HTTP2_HEADER_FORWARDED: "forwarded";
108
+ readonly HTTP2_HEADER_FROM: "from";
109
+ readonly HTTP2_HEADER_HOST: "host";
110
+ readonly HTTP2_HEADER_HTTP2_SETTINGS: "http2-settings";
111
+ readonly HTTP2_HEADER_IF_MATCH: "if-match";
112
+ readonly HTTP2_HEADER_IF_MODIFIED_SINCE: "if-modified-since";
113
+ readonly HTTP2_HEADER_IF_NONE_MATCH: "if-none-match";
114
+ readonly HTTP2_HEADER_IF_RANGE: "if-range";
115
+ readonly HTTP2_HEADER_IF_UNMODIFIED_SINCE: "if-unmodified-since";
116
+ readonly HTTP2_HEADER_KEEP_ALIVE: "keep-alive";
117
+ readonly HTTP2_HEADER_LAST_MODIFIED: "last-modified";
118
+ readonly HTTP2_HEADER_LINK: "link";
119
+ readonly HTTP2_HEADER_LOCATION: "location";
120
+ readonly HTTP2_HEADER_MAX_FORWARDS: "max-forwards";
121
+ readonly HTTP2_HEADER_ORIGIN: "origin";
122
+ readonly HTTP2_HEADER_PREFER: "prefer";
123
+ readonly HTTP2_HEADER_PRIORITY: "priority";
124
+ readonly HTTP2_HEADER_PROXY_AUTHENTICATE: "proxy-authenticate";
125
+ readonly HTTP2_HEADER_PROXY_AUTHORIZATION: "proxy-authorization";
126
+ readonly HTTP2_HEADER_PROXY_CONNECTION: "proxy-connection";
127
+ readonly HTTP2_HEADER_RANGE: "range";
128
+ readonly HTTP2_HEADER_REFERER: "referer";
129
+ readonly HTTP2_HEADER_REFRESH: "refresh";
130
+ readonly HTTP2_HEADER_RETRY_AFTER: "retry-after";
131
+ readonly HTTP2_HEADER_SERVER: "server";
132
+ readonly HTTP2_HEADER_SET_COOKIE: "set-cookie";
133
+ readonly HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: "strict-transport-security";
134
+ readonly HTTP2_HEADER_TE: "te";
135
+ readonly HTTP2_HEADER_TIMING_ALLOW_ORIGIN: "timing-allow-origin";
136
+ readonly HTTP2_HEADER_TRAILER: "trailer";
137
+ readonly HTTP2_HEADER_TRANSFER_ENCODING: "transfer-encoding";
138
+ readonly HTTP2_HEADER_TK: "tk";
139
+ readonly HTTP2_HEADER_UPGRADE: "upgrade";
140
+ readonly HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: "upgrade-insecure-requests";
141
+ readonly HTTP2_HEADER_USER_AGENT: "user-agent";
142
+ readonly HTTP2_HEADER_VARY: "vary";
143
+ readonly HTTP2_HEADER_VIA: "via";
144
+ readonly HTTP2_HEADER_WARNING: "warning";
145
+ readonly HTTP2_HEADER_WWW_AUTHENTICATE: "www-authenticate";
146
+ readonly HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: "x-content-type-options";
147
+ readonly HTTP2_HEADER_X_FORWARDED_FOR: "x-forwarded-for";
148
+ readonly HTTP2_HEADER_X_FRAME_OPTIONS: "x-frame-options";
149
+ readonly HTTP2_HEADER_X_XSS_PROTECTION: "x-xss-protection";
150
+ readonly HTTP2_HEADER_PURPOSE: "purpose";
151
+ readonly HTTP2_METHOD_ACL: "ACL";
152
+ readonly HTTP2_METHOD_BASELINE_CONTROL: "BASELINE-CONTROL";
153
+ readonly HTTP2_METHOD_BIND: "BIND";
154
+ readonly HTTP2_METHOD_CHECKIN: "CHECKIN";
155
+ readonly HTTP2_METHOD_CHECKOUT: "CHECKOUT";
156
+ readonly HTTP2_METHOD_CONNECT: "CONNECT";
157
+ readonly HTTP2_METHOD_COPY: "COPY";
158
+ readonly HTTP2_METHOD_DELETE: "DELETE";
159
+ readonly HTTP2_METHOD_GET: "GET";
160
+ readonly HTTP2_METHOD_HEAD: "HEAD";
161
+ readonly HTTP2_METHOD_LABEL: "LABEL";
162
+ readonly HTTP2_METHOD_LINK: "LINK";
163
+ readonly HTTP2_METHOD_LOCK: "LOCK";
164
+ readonly HTTP2_METHOD_MERGE: "MERGE";
165
+ readonly HTTP2_METHOD_MKACTIVITY: "MKACTIVITY";
166
+ readonly HTTP2_METHOD_MKCALENDAR: "MKCALENDAR";
167
+ readonly HTTP2_METHOD_MKCOL: "MKCOL";
168
+ readonly HTTP2_METHOD_MKREDIRECTREF: "MKREDIRECTREF";
169
+ readonly HTTP2_METHOD_MKWORKSPACE: "MKWORKSPACE";
170
+ readonly HTTP2_METHOD_MOVE: "MOVE";
171
+ readonly HTTP2_METHOD_OPTIONS: "OPTIONS";
172
+ readonly HTTP2_METHOD_ORDERPATCH: "ORDERPATCH";
173
+ readonly HTTP2_METHOD_PATCH: "PATCH";
174
+ readonly HTTP2_METHOD_POST: "POST";
175
+ readonly HTTP2_METHOD_PRI: "PRI";
176
+ readonly HTTP2_METHOD_PROPFIND: "PROPFIND";
177
+ readonly HTTP2_METHOD_PROPPATCH: "PROPPATCH";
178
+ readonly HTTP2_METHOD_PUT: "PUT";
179
+ readonly HTTP2_METHOD_REBIND: "REBIND";
180
+ readonly HTTP2_METHOD_REPORT: "REPORT";
181
+ readonly HTTP2_METHOD_SEARCH: "SEARCH";
182
+ readonly HTTP2_METHOD_TRACE: "TRACE";
183
+ readonly HTTP2_METHOD_UNBIND: "UNBIND";
184
+ readonly HTTP2_METHOD_UNCHECKOUT: "UNCHECKOUT";
185
+ readonly HTTP2_METHOD_UNLINK: "UNLINK";
186
+ readonly HTTP2_METHOD_UNLOCK: "UNLOCK";
187
+ readonly HTTP2_METHOD_UPDATE: "UPDATE";
188
+ readonly HTTP2_METHOD_UPDATEREDIRECTREF: "UPDATEREDIRECTREF";
189
+ readonly HTTP2_METHOD_VERSION_CONTROL: "VERSION-CONTROL";
190
+ readonly HTTP_STATUS_CONTINUE: 100;
191
+ readonly HTTP_STATUS_SWITCHING_PROTOCOLS: 101;
192
+ readonly HTTP_STATUS_PROCESSING: 102;
193
+ readonly HTTP_STATUS_EARLY_HINTS: 103;
194
+ readonly HTTP_STATUS_OK: 200;
195
+ readonly HTTP_STATUS_CREATED: 201;
196
+ readonly HTTP_STATUS_ACCEPTED: 202;
197
+ readonly HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203;
198
+ readonly HTTP_STATUS_NO_CONTENT: 204;
199
+ readonly HTTP_STATUS_RESET_CONTENT: 205;
200
+ readonly HTTP_STATUS_PARTIAL_CONTENT: 206;
201
+ readonly HTTP_STATUS_MULTI_STATUS: 207;
202
+ readonly HTTP_STATUS_ALREADY_REPORTED: 208;
203
+ readonly HTTP_STATUS_IM_USED: 226;
204
+ readonly HTTP_STATUS_MULTIPLE_CHOICES: 300;
205
+ readonly HTTP_STATUS_MOVED_PERMANENTLY: 301;
206
+ readonly HTTP_STATUS_FOUND: 302;
207
+ readonly HTTP_STATUS_SEE_OTHER: 303;
208
+ readonly HTTP_STATUS_NOT_MODIFIED: 304;
209
+ readonly HTTP_STATUS_USE_PROXY: 305;
210
+ readonly HTTP_STATUS_TEMPORARY_REDIRECT: 307;
211
+ readonly HTTP_STATUS_PERMANENT_REDIRECT: 308;
212
+ readonly HTTP_STATUS_BAD_REQUEST: 400;
213
+ readonly HTTP_STATUS_UNAUTHORIZED: 401;
214
+ readonly HTTP_STATUS_PAYMENT_REQUIRED: 402;
215
+ readonly HTTP_STATUS_FORBIDDEN: 403;
216
+ readonly HTTP_STATUS_NOT_FOUND: 404;
217
+ readonly HTTP_STATUS_METHOD_NOT_ALLOWED: 405;
218
+ readonly HTTP_STATUS_NOT_ACCEPTABLE: 406;
219
+ readonly HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407;
220
+ readonly HTTP_STATUS_REQUEST_TIMEOUT: 408;
221
+ readonly HTTP_STATUS_CONFLICT: 409;
222
+ readonly HTTP_STATUS_GONE: 410;
223
+ readonly HTTP_STATUS_LENGTH_REQUIRED: 411;
224
+ readonly HTTP_STATUS_PRECONDITION_FAILED: 412;
225
+ readonly HTTP_STATUS_PAYLOAD_TOO_LARGE: 413;
226
+ readonly HTTP_STATUS_URI_TOO_LONG: 414;
227
+ readonly HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415;
228
+ readonly HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416;
229
+ readonly HTTP_STATUS_EXPECTATION_FAILED: 417;
230
+ readonly HTTP_STATUS_TEAPOT: 418;
231
+ readonly HTTP_STATUS_MISDIRECTED_REQUEST: 421;
232
+ readonly HTTP_STATUS_UNPROCESSABLE_ENTITY: 422;
233
+ readonly HTTP_STATUS_LOCKED: 423;
234
+ readonly HTTP_STATUS_FAILED_DEPENDENCY: 424;
235
+ readonly HTTP_STATUS_TOO_EARLY: 425;
236
+ readonly HTTP_STATUS_UPGRADE_REQUIRED: 426;
237
+ readonly HTTP_STATUS_PRECONDITION_REQUIRED: 428;
238
+ readonly HTTP_STATUS_TOO_MANY_REQUESTS: 429;
239
+ readonly HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431;
240
+ readonly HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451;
241
+ readonly HTTP_STATUS_INTERNAL_SERVER_ERROR: 500;
242
+ readonly HTTP_STATUS_NOT_IMPLEMENTED: 501;
243
+ readonly HTTP_STATUS_BAD_GATEWAY: 502;
244
+ readonly HTTP_STATUS_SERVICE_UNAVAILABLE: 503;
245
+ readonly HTTP_STATUS_GATEWAY_TIMEOUT: 504;
246
+ readonly HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505;
247
+ readonly HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506;
248
+ readonly HTTP_STATUS_INSUFFICIENT_STORAGE: 507;
249
+ readonly HTTP_STATUS_LOOP_DETECTED: 508;
250
+ readonly HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509;
251
+ readonly HTTP_STATUS_NOT_EXTENDED: 510;
252
+ readonly HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511;
253
+ };
254
+ export interface Http2Settings {
255
+ headerTableSize?: number;
256
+ enablePush?: boolean;
257
+ maxConcurrentStreams?: number;
258
+ initialWindowSize?: number;
259
+ maxFrameSize?: number;
260
+ maxHeaderListSize?: number;
261
+ enableConnectProtocol?: boolean;
262
+ }
263
+ export declare function getDefaultSettings(): Http2Settings;
264
+ export declare function getPackedSettings(settings?: Http2Settings): Uint8Array;
265
+ export declare function getUnpackedSettings(buf: Uint8Array | ArrayBuffer): Http2Settings;