4b2649bd252602b2eadff2eee254dbd49bc015c60598db0cb358c60c29ee2f0a9f6efaef10883dda3a745879ea85a0ebdb5a4ade1ac0dcf7da3c36dd514e70 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. import { IncomingHttpHeaders } from './header'
  2. import Client from './client'
  3. export default Errors
  4. declare namespace Errors {
  5. export class UndiciError extends Error {
  6. name: string
  7. code: string
  8. }
  9. /** Connect timeout error. */
  10. export class ConnectTimeoutError extends UndiciError {
  11. name: 'ConnectTimeoutError'
  12. code: 'UND_ERR_CONNECT_TIMEOUT'
  13. }
  14. /** A header exceeds the `headersTimeout` option. */
  15. export class HeadersTimeoutError extends UndiciError {
  16. name: 'HeadersTimeoutError'
  17. code: 'UND_ERR_HEADERS_TIMEOUT'
  18. }
  19. /** Headers overflow error. */
  20. export class HeadersOverflowError extends UndiciError {
  21. name: 'HeadersOverflowError'
  22. code: 'UND_ERR_HEADERS_OVERFLOW'
  23. }
  24. /** A body exceeds the `bodyTimeout` option. */
  25. export class BodyTimeoutError extends UndiciError {
  26. name: 'BodyTimeoutError'
  27. code: 'UND_ERR_BODY_TIMEOUT'
  28. }
  29. export class ResponseError extends UndiciError {
  30. constructor (
  31. message: string,
  32. code: number,
  33. options: {
  34. headers?: IncomingHttpHeaders | string[] | null,
  35. body?: null | Record<string, any> | string
  36. }
  37. )
  38. name: 'ResponseError'
  39. code: 'UND_ERR_RESPONSE'
  40. statusCode: number
  41. body: null | Record<string, any> | string
  42. headers: IncomingHttpHeaders | string[] | null
  43. }
  44. export class ResponseStatusCodeError extends UndiciError {
  45. constructor (
  46. message?: string,
  47. statusCode?: number,
  48. headers?: IncomingHttpHeaders | string[] | null,
  49. body?: null | Record<string, any> | string
  50. )
  51. name: 'ResponseStatusCodeError'
  52. code: 'UND_ERR_RESPONSE_STATUS_CODE'
  53. body: null | Record<string, any> | string
  54. status: number
  55. statusCode: number
  56. headers: IncomingHttpHeaders | string[] | null
  57. }
  58. /** Passed an invalid argument. */
  59. export class InvalidArgumentError extends UndiciError {
  60. name: 'InvalidArgumentError'
  61. code: 'UND_ERR_INVALID_ARG'
  62. }
  63. /** Returned an invalid value. */
  64. export class InvalidReturnValueError extends UndiciError {
  65. name: 'InvalidReturnValueError'
  66. code: 'UND_ERR_INVALID_RETURN_VALUE'
  67. }
  68. /** The request has been aborted by the user. */
  69. export class RequestAbortedError extends UndiciError {
  70. name: 'AbortError'
  71. code: 'UND_ERR_ABORTED'
  72. }
  73. /** Expected error with reason. */
  74. export class InformationalError extends UndiciError {
  75. name: 'InformationalError'
  76. code: 'UND_ERR_INFO'
  77. }
  78. /** Request body length does not match content-length header. */
  79. export class RequestContentLengthMismatchError extends UndiciError {
  80. name: 'RequestContentLengthMismatchError'
  81. code: 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'
  82. }
  83. /** Response body length does not match content-length header. */
  84. export class ResponseContentLengthMismatchError extends UndiciError {
  85. name: 'ResponseContentLengthMismatchError'
  86. code: 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'
  87. }
  88. /** Trying to use a destroyed client. */
  89. export class ClientDestroyedError extends UndiciError {
  90. name: 'ClientDestroyedError'
  91. code: 'UND_ERR_DESTROYED'
  92. }
  93. /** Trying to use a closed client. */
  94. export class ClientClosedError extends UndiciError {
  95. name: 'ClientClosedError'
  96. code: 'UND_ERR_CLOSED'
  97. }
  98. /** There is an error with the socket. */
  99. export class SocketError extends UndiciError {
  100. name: 'SocketError'
  101. code: 'UND_ERR_SOCKET'
  102. socket: Client.SocketInfo | null
  103. }
  104. /** Encountered unsupported functionality. */
  105. export class NotSupportedError extends UndiciError {
  106. name: 'NotSupportedError'
  107. code: 'UND_ERR_NOT_SUPPORTED'
  108. }
  109. /** No upstream has been added to the BalancedPool. */
  110. export class BalancedPoolMissingUpstreamError extends UndiciError {
  111. name: 'MissingUpstreamError'
  112. code: 'UND_ERR_BPL_MISSING_UPSTREAM'
  113. }
  114. export class HTTPParserError extends UndiciError {
  115. name: 'HTTPParserError'
  116. code: string
  117. }
  118. /** The response exceed the length allowed. */
  119. export class ResponseExceededMaxSizeError extends UndiciError {
  120. name: 'ResponseExceededMaxSizeError'
  121. code: 'UND_ERR_RES_EXCEEDED_MAX_SIZE'
  122. }
  123. export class RequestRetryError extends UndiciError {
  124. constructor (
  125. message: string,
  126. statusCode: number,
  127. headers?: IncomingHttpHeaders | string[] | null,
  128. body?: null | Record<string, any> | string
  129. )
  130. name: 'RequestRetryError'
  131. code: 'UND_ERR_REQ_RETRY'
  132. statusCode: number
  133. data: {
  134. count: number;
  135. }
  136. headers: Record<string, string | string[]>
  137. }
  138. export class SecureProxyConnectionError extends UndiciError {
  139. constructor (
  140. cause?: Error,
  141. message?: string,
  142. options?: Record<any, any>
  143. )
  144. name: 'SecureProxyConnectionError'
  145. code: 'UND_ERR_PRX_TLS'
  146. }
  147. }