mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-04 12:29:30 +08:00
205 lines
5.7 KiB
Text
205 lines
5.7 KiB
Text
'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
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
HTTPParserError,
|
|
UndiciError,
|
|
HeadersTimeoutError,
|
|
HeadersOverflowError,
|
|
BodyTimeoutError,
|
|
RequestContentLengthMismatchError,
|
|
ConnectTimeoutError,
|
|
ResponseStatusCodeError,
|
|
InvalidArgumentError,
|
|
InvalidReturnValueError,
|
|
RequestAbortedError,
|
|
ClientDestroyedError,
|
|
ClientClosedError,
|
|
InformationalError,
|
|
SocketError,
|
|
NotSupportedError,
|
|
ResponseContentLengthMismatchError,
|
|
BalancedPoolMissingUpstreamError
|
|
}
|