| 'use strict' |
| |
| class UndiciError extends Error { |
| constructor (message) { |
| super(message) |
| this.name = 'UndiciError' |
| this.code = 'UND_ERR' |
| } |
| } |
| |
| class ConnectTimeoutError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, ConnectTimeoutError) |
| this.name = 'ConnectTimeoutError' |
| this.message = message || 'Connect Timeout Error' |
| this.code = 'UND_ERR_CONNECT_TIMEOUT' |
| } |
| } |
| |
| class HeadersTimeoutError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, HeadersTimeoutError) |
| this.name = 'HeadersTimeoutError' |
| this.message = message || 'Headers Timeout Error' |
| this.code = 'UND_ERR_HEADERS_TIMEOUT' |
| } |
| } |
| |
| class HeadersOverflowError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, HeadersOverflowError) |
| this.name = 'HeadersOverflowError' |
| this.message = message || 'Headers Overflow Error' |
| this.code = 'UND_ERR_HEADERS_OVERFLOW' |
| } |
| } |
| |
| class BodyTimeoutError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, BodyTimeoutError) |
| this.name = 'BodyTimeoutError' |
| this.message = message || 'Body Timeout Error' |
| this.code = 'UND_ERR_BODY_TIMEOUT' |
| } |
| } |
| |
| class ResponseStatusCodeError extends UndiciError { |
| constructor (message, statusCode, headers, body) { |
| super(message) |
| Error.captureStackTrace(this, ResponseStatusCodeError) |
| this.name = 'ResponseStatusCodeError' |
| this.message = message || 'Response Status Code Error' |
| this.code = 'UND_ERR_RESPONSE_STATUS_CODE' |
| this.body = body |
| this.status = statusCode |
| this.statusCode = statusCode |
| this.headers = headers |
| } |
| } |
| |
| class InvalidArgumentError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, InvalidArgumentError) |
| this.name = 'InvalidArgumentError' |
| this.message = message || 'Invalid Argument Error' |
| this.code = 'UND_ERR_INVALID_ARG' |
| } |
| } |
| |
| class InvalidReturnValueError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, InvalidReturnValueError) |
| this.name = 'InvalidReturnValueError' |
| this.message = message || 'Invalid Return Value Error' |
| this.code = 'UND_ERR_INVALID_RETURN_VALUE' |
| } |
| } |
| |
| class RequestAbortedError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, RequestAbortedError) |
| this.name = 'AbortError' |
| this.message = message || 'Request aborted' |
| this.code = 'UND_ERR_ABORTED' |
| } |
| } |
| |
| class InformationalError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, InformationalError) |
| this.name = 'InformationalError' |
| this.message = message || 'Request information' |
| this.code = 'UND_ERR_INFO' |
| } |
| } |
| |
| class RequestContentLengthMismatchError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, RequestContentLengthMismatchError) |
| this.name = 'RequestContentLengthMismatchError' |
| this.message = message || 'Request body length does not match content-length header' |
| this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH' |
| } |
| } |
| |
| class ResponseContentLengthMismatchError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, ResponseContentLengthMismatchError) |
| this.name = 'ResponseContentLengthMismatchError' |
| this.message = message || 'Response body length does not match content-length header' |
| this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH' |
| } |
| } |
| |
| class ClientDestroyedError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, ClientDestroyedError) |
| this.name = 'ClientDestroyedError' |
| this.message = message || 'The client is destroyed' |
| this.code = 'UND_ERR_DESTROYED' |
| } |
| } |
| |
| class ClientClosedError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, ClientClosedError) |
| this.name = 'ClientClosedError' |
| this.message = message || 'The client is closed' |
| this.code = 'UND_ERR_CLOSED' |
| } |
| } |
| |
| class SocketError extends UndiciError { |
| constructor (message, socket) { |
| super(message) |
| Error.captureStackTrace(this, SocketError) |
| this.name = 'SocketError' |
| this.message = message || 'Socket error' |
| this.code = 'UND_ERR_SOCKET' |
| this.socket = socket |
| } |
| } |
| |
| class NotSupportedError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, NotSupportedError) |
| this.name = 'NotSupportedError' |
| this.message = message || 'Not supported error' |
| this.code = 'UND_ERR_NOT_SUPPORTED' |
| } |
| } |
| |
| class BalancedPoolMissingUpstreamError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, NotSupportedError) |
| this.name = 'MissingUpstreamError' |
| this.message = message || 'No upstream has been added to the BalancedPool' |
| this.code = 'UND_ERR_BPL_MISSING_UPSTREAM' |
| } |
| } |
| |
| class HTTPParserError extends Error { |
| constructor (message, code, data) { |
| super(message) |
| Error.captureStackTrace(this, HTTPParserError) |
| this.name = 'HTTPParserError' |
| this.code = code ? `HPE_${code}` : undefined |
| this.data = data ? data.toString() : undefined |
| } |
| } |
| |
| class ResponseExceededMaxSizeError extends UndiciError { |
| constructor (message) { |
| super(message) |
| Error.captureStackTrace(this, ResponseExceededMaxSizeError) |
| this.name = 'ResponseExceededMaxSizeError' |
| this.message = message || 'Response content exceeded max size' |
| this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE' |
| } |
| } |
| |
| class RequestRetryError extends UndiciError { |
| constructor (message, code, { headers, data }) { |
| super(message) |
| Error.captureStackTrace(this, RequestRetryError) |
| this.name = 'RequestRetryError' |
| this.message = message || 'Request retry error' |
| this.code = 'UND_ERR_REQ_RETRY' |
| this.statusCode = code |
| this.data = data |
| this.headers = headers |
| } |
| } |
| |
| module.exports = { |
| HTTPParserError, |
| UndiciError, |
| HeadersTimeoutError, |
| HeadersOverflowError, |
| BodyTimeoutError, |
| RequestContentLengthMismatchError, |
| ConnectTimeoutError, |
| ResponseStatusCodeError, |
| InvalidArgumentError, |
| InvalidReturnValueError, |
| RequestAbortedError, |
| ClientDestroyedError, |
| ClientClosedError, |
| InformationalError, |
| SocketError, |
| NotSupportedError, |
| ResponseContentLengthMismatchError, |
| BalancedPoolMissingUpstreamError, |
| ResponseExceededMaxSizeError, |
| RequestRetryError |
| } |