• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1declare module "agentkeepalive" {
2  import * as http from 'http';
3  import * as https from 'https';
4
5  interface AgentStatus {
6    createSocketCount: number,
7    createSocketErrorCount: number,
8    closeSocketCount: number,
9    errorSocketCount: number,
10    timeoutSocketCount: number,
11    requestCount: number,
12    freeSockets: object,
13    sockets: object,
14    requests: object,
15  }
16
17  interface HttpOptions extends http.AgentOptions {
18    freeSocketKeepAliveTimeout?: number;
19    timeout?: number;
20    socketActiveTTL?: number;
21  }
22
23  interface HttpsOptions extends https.AgentOptions {
24    freeSocketKeepAliveTimeout?: number;
25    timeout?: number;
26    socketActiveTTL?: number;
27  }
28
29  class internal extends http.Agent {
30    constructor(opts?: HttpOptions);
31    readonly statusChanged: boolean;
32    createSocket(req: http.IncomingMessage, options: http.RequestOptions, cb: Function): void;
33    getCurrentStatus(): AgentStatus;
34  }
35
36  namespace internal {
37    export class HttpsAgent extends internal {
38      constructor(opts?: HttpsOptions);
39    }
40  }
41
42  export = internal;
43}
44