agent.d.ts 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. import { URL } from 'url'
  2. import Pool from './pool'
  3. import Dispatcher from './dispatcher'
  4. import TClientStats from './client-stats'
  5. import TPoolStats from './pool-stats'
  6. export default Agent
  7. declare class Agent extends Dispatcher {
  8. constructor (opts?: Agent.Options)
  9. /** `true` after `dispatcher.close()` has been called. */
  10. closed: boolean
  11. /** `true` after `dispatcher.destroyed()` has been called or `dispatcher.close()` has been called and the dispatcher shutdown has completed. */
  12. destroyed: boolean
  13. /** Dispatches a request. */
  14. dispatch (options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandler): boolean
  15. /** Aggregate stats for a Agent by origin. */
  16. readonly stats: Record<string, TClientStats | TPoolStats>
  17. }
  18. declare namespace Agent {
  19. export interface Options extends Pool.Options {
  20. /** Default: `(origin, opts) => new Pool(origin, opts)`. */
  21. factory?(origin: string | URL, opts: Object): Dispatcher;
  22. interceptors?: { Agent?: readonly Dispatcher.DispatchInterceptor[] } & Pool.Options['interceptors']
  23. }
  24. export interface DispatchOptions extends Dispatcher.DispatchOptions {
  25. }
  26. }