You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					79 lines
				
				3.1 KiB
			
		
		
			
		
	
	
					79 lines
				
				3.1 KiB
			| 
											3 years ago
										 | /// <reference types="node" />
 | ||
|  | import net from 'net'; | ||
|  | import http from 'http'; | ||
|  | import https from 'https'; | ||
|  | import { Duplex } from 'stream'; | ||
|  | import { EventEmitter } from 'events'; | ||
|  | declare function createAgent(opts?: createAgent.AgentOptions): createAgent.Agent; | ||
|  | declare function createAgent(callback: createAgent.AgentCallback, opts?: createAgent.AgentOptions): createAgent.Agent; | ||
|  | declare namespace createAgent { | ||
|  |     interface ClientRequest extends http.ClientRequest { | ||
|  |         _last?: boolean; | ||
|  |         _hadError?: boolean; | ||
|  |         method: string; | ||
|  |     } | ||
|  |     interface AgentRequestOptions { | ||
|  |         host?: string; | ||
|  |         path?: string; | ||
|  |         port: number; | ||
|  |     } | ||
|  |     interface HttpRequestOptions extends AgentRequestOptions, Omit<http.RequestOptions, keyof AgentRequestOptions> { | ||
|  |         secureEndpoint: false; | ||
|  |     } | ||
|  |     interface HttpsRequestOptions extends AgentRequestOptions, Omit<https.RequestOptions, keyof AgentRequestOptions> { | ||
|  |         secureEndpoint: true; | ||
|  |     } | ||
|  |     type RequestOptions = HttpRequestOptions | HttpsRequestOptions; | ||
|  |     type AgentLike = Pick<createAgent.Agent, 'addRequest'> | http.Agent; | ||
|  |     type AgentCallbackReturn = Duplex | AgentLike; | ||
|  |     type AgentCallbackCallback = (err?: Error | null, socket?: createAgent.AgentCallbackReturn) => void; | ||
|  |     type AgentCallbackPromise = (req: createAgent.ClientRequest, opts: createAgent.RequestOptions) => createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>; | ||
|  |     type AgentCallback = typeof Agent.prototype.callback; | ||
|  |     type AgentOptions = { | ||
|  |         timeout?: number; | ||
|  |     }; | ||
|  |     /** | ||
|  |      * Base `http.Agent` implementation. | ||
|  |      * No pooling/keep-alive is implemented by default. | ||
|  |      * | ||
|  |      * @param {Function} callback | ||
|  |      * @api public | ||
|  |      */ | ||
|  |     class Agent extends EventEmitter { | ||
|  |         timeout: number | null; | ||
|  |         maxFreeSockets: number; | ||
|  |         maxTotalSockets: number; | ||
|  |         maxSockets: number; | ||
|  |         sockets: { | ||
|  |             [key: string]: net.Socket[]; | ||
|  |         }; | ||
|  |         freeSockets: { | ||
|  |             [key: string]: net.Socket[]; | ||
|  |         }; | ||
|  |         requests: { | ||
|  |             [key: string]: http.IncomingMessage[]; | ||
|  |         }; | ||
|  |         options: https.AgentOptions; | ||
|  |         private promisifiedCallback?; | ||
|  |         private explicitDefaultPort?; | ||
|  |         private explicitProtocol?; | ||
|  |         constructor(callback?: createAgent.AgentCallback | createAgent.AgentOptions, _opts?: createAgent.AgentOptions); | ||
|  |         get defaultPort(): number; | ||
|  |         set defaultPort(v: number); | ||
|  |         get protocol(): string; | ||
|  |         set protocol(v: string); | ||
|  |         callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions, fn: createAgent.AgentCallbackCallback): void; | ||
|  |         callback(req: createAgent.ClientRequest, opts: createAgent.RequestOptions): createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>; | ||
|  |         /** | ||
|  |          * Called by node-core's "_http_client.js" module when creating | ||
|  |          * a new HTTP request with this Agent instance. | ||
|  |          * | ||
|  |          * @api public | ||
|  |          */ | ||
|  |         addRequest(req: ClientRequest, _opts: RequestOptions): void; | ||
|  |         freeSocket(socket: net.Socket, opts: AgentOptions): void; | ||
|  |         destroy(): void; | ||
|  |     } | ||
|  | } | ||
|  | export = createAgent; |