summaryrefslogtreecommitdiff
path: root/includes/external/addressbook/node_modules/http2-wrapper/index.d.ts
diff options
context:
space:
mode:
authorRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
committerRaindropsSys <contact@minteck.org>2023-04-06 22:18:28 +0200
commit83354b2b88218090988dd6e526b0a2505b57e0f1 (patch)
treee3c73c38a122a78bb7e66fbb99056407edd9d4b9 /includes/external/addressbook/node_modules/http2-wrapper/index.d.ts
parent47b8f2299a483024c4a6a8876af825a010954caa (diff)
downloadpluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.gz
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.bz2
pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.zip
Updated 5 files and added 1110 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/http2-wrapper/index.d.ts')
-rw-r--r--includes/external/addressbook/node_modules/http2-wrapper/index.d.ts141
1 files changed, 141 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/http2-wrapper/index.d.ts b/includes/external/addressbook/node_modules/http2-wrapper/index.d.ts
new file mode 100644
index 0000000..474e019
--- /dev/null
+++ b/includes/external/addressbook/node_modules/http2-wrapper/index.d.ts
@@ -0,0 +1,141 @@
+// See https://github.com/facebook/jest/issues/2549
+// eslint-disable-next-line node/prefer-global/url
+import {URL} from 'url';
+import {EventEmitter} from 'events';
+import tls = require('tls');
+import http = require('http');
+import https = require('https');
+import http2 = require('http2');
+
+// Note: do not convert this to import from.
+import QuickLRU = require('quick-lru');
+
+export interface RequestOptions extends Omit<https.RequestOptions, 'session' | 'agent'> {
+ tlsSession?: tls.ConnectionOptions['session'];
+ h2session?: http2.ClientHttp2Session;
+ agent?: Agent | false;
+
+ // Required because @types/node is missing types
+ ALPNProtocols?: string[];
+}
+
+export interface AutoRequestOptions extends Omit<RequestOptions, 'agent' | 'h2session'> {
+ agent?: {
+ http?: http.Agent | false;
+ https?: https.Agent | false;
+ http2?: Agent | false;
+ };
+ resolveProtocol?: ResolveProtocolFunction;
+}
+
+export interface EntryFunction {
+ (): Promise<void>;
+
+ completed: boolean;
+ destroyed: boolean;
+ listeners: PromiseListeners;
+}
+
+export interface AgentOptions {
+ timeout?: number;
+ maxSessions?: number;
+ maxEmptySessions?: number;
+ maxCachedTlsSessions?: number;
+}
+
+export interface PromiseListeners {
+ resolve: (value: unknown) => void;
+ reject: (error: Error) => void;
+}
+
+export class Agent extends EventEmitter {
+ sessions: Record<string, http2.ClientHttp2Session[]>;
+ queue: Record<string, Record<string, EntryFunction>>;
+
+ timeout: number;
+ maxSessions: number;
+ maxEmptySessions: number;
+ protocol: string;
+ settings: http2.Settings;
+
+ tlsSessionCache: QuickLRU<string, string>;
+
+ emptySessionCount: number;
+ pendingSessionCount: number;
+ sessionCount: number;
+
+ constructor(options?: AgentOptions);
+
+ static connect(origin: URL, options: http2.SecureClientSessionOptions): tls.TLSSocket;
+
+ normalizeOptions(options: http2.ClientSessionRequestOptions): string;
+
+ getSession(origin: string | URL, options?: http2.SecureClientSessionOptions, listeners?: PromiseListeners): Promise<http2.ClientHttp2Session>;
+ request(origin: string | URL, options?: http2.SecureClientSessionOptions, headers?: http2.OutgoingHttpHeaders, streamOptions?: http2.ClientSessionRequestOptions): Promise<http2.ClientHttp2Stream>;
+
+ createConnection(origin: URL, options: http2.SecureClientSessionOptions): Promise<tls.TLSSocket>;
+
+ closeEmptySessions(count?: number): void;
+ destroy(reason?: Error): void;
+}
+
+export interface ProxyOptions {
+ headers?: http2.OutgoingHttpHeaders;
+ raw?: boolean;
+ url: URL | string;
+}
+
+export namespace proxies {
+ class HttpOverHttp2 extends http.Agent {
+ constructor(options: http.AgentOptions & {proxyOptions: ProxyOptions});
+ }
+
+ class HttpsOverHttp2 extends https.Agent {
+ constructor(options: https.AgentOptions & {proxyOptions: ProxyOptions});
+ }
+
+ class Http2OverHttp2 extends Agent {
+ constructor(options: AgentOptions & {proxyOptions: ProxyOptions});
+ }
+
+ class Http2OverHttp extends Agent {
+ constructor(options: AgentOptions & {proxyOptions: ProxyOptions});
+ }
+
+ class Http2OverHttps extends Agent {
+ constructor(options: AgentOptions & {proxyOptions: ProxyOptions});
+ }
+}
+
+export type RequestFunction<T, O = RequestOptions> =
+ ((url: string | URL, options?: O, callback?: (response: http.IncomingMessage) => void) => T) &
+ ((url: string | URL, callback?: (response: http.IncomingMessage) => void) => T) &
+ ((options: O, callback?: (response: http.IncomingMessage) => void) => T);
+
+export const globalAgent: Agent;
+
+export type ResolveProtocolResult = {
+ alpnProtocol: string;
+ socket?: tls.TLSSocket;
+ timeout?: boolean;
+};
+export type ResolveProtocolFunction = (options: AutoRequestOptions) => Promise<ResolveProtocolResult>;
+
+type Promisable<T> = T | Promise<T>;
+
+export type ResolveProtocolConnectFunction = (options: tls.ConnectionOptions, callback: () => void) => Promisable<tls.TLSSocket>;
+
+export const request: RequestFunction<http.ClientRequest>;
+export const get: RequestFunction<http.ClientRequest>;
+export const auto: RequestFunction<Promise<http.ClientRequest>, AutoRequestOptions> & {
+ protocolCache: QuickLRU<string, string>;
+ resolveProtocol: ResolveProtocolFunction;
+ createResolveProtocol: (cache: Map<string, string>, queue: Map<string, Promise<ResolveProtocolResult>>, connect?: ResolveProtocolConnectFunction) => ResolveProtocolFunction;
+};
+
+export {
+ ClientRequest,
+ IncomingMessage
+} from 'http';
+
+export * from 'http2';