projecte_ionic/node_modules/agentkeepalive/index.d.ts
2022-02-09 18:30:03 +01:00

63 lines
1.7 KiB
TypeScript
Executable file

import * as http from 'http';
import * as https from 'https';
interface PlainObject {
[key: string]: any;
}
declare class HttpAgent extends http.Agent {
constructor(opts?: AgentKeepAlive.HttpOptions);
readonly statusChanged: boolean;
createSocket(req: http.IncomingMessage, options: http.RequestOptions, cb: Function): void;
getCurrentStatus(): AgentKeepAlive.AgentStatus;
}
interface Constants {
CURRENT_ID: Symbol;
CREATE_ID: Symbol;
INIT_SOCKET: Symbol;
CREATE_HTTPS_CONNECTION: Symbol;
SOCKET_CREATED_TIME: Symbol;
SOCKET_NAME: Symbol;
SOCKET_REQUEST_COUNT: Symbol;
SOCKET_REQUEST_FINISHED_COUNT: Symbol;
}
declare class AgentKeepAlive extends HttpAgent {}
declare namespace AgentKeepAlive {
export interface AgentStatus {
createSocketCount: number;
createSocketErrorCount: number;
closeSocketCount: number;
errorSocketCount: number;
timeoutSocketCount: number;
requestCount: number;
freeSockets: PlainObject;
sockets: PlainObject;
requests: PlainObject;
}
interface CommonHttpOption {
keepAlive?: boolean;
freeSocketTimeout?: number;
freeSocketKeepAliveTimeout?: number;
timeout?: number;
socketActiveTTL?: number;
}
export interface HttpOptions extends http.AgentOptions, CommonHttpOption { }
export interface HttpsOptions extends https.AgentOptions, CommonHttpOption { }
export class HttpsAgent extends https.Agent {
constructor(opts?: HttpsOptions);
readonly statusChanged: boolean;
createSocket(req: http.IncomingMessage, options: http.RequestOptions, cb: Function): void;
getCurrentStatus(): AgentStatus;
}
export const constants: Constants;
}
export = AgentKeepAlive;