source: node_modules/undici/lib/core/errors.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 6.5 KB
Line 
1'use strict'
2
3class UndiciError extends Error {
4 constructor (message) {
5 super(message)
6 this.name = 'UndiciError'
7 this.code = 'UND_ERR'
8 }
9}
10
11class ConnectTimeoutError extends UndiciError {
12 constructor (message) {
13 super(message)
14 Error.captureStackTrace(this, ConnectTimeoutError)
15 this.name = 'ConnectTimeoutError'
16 this.message = message || 'Connect Timeout Error'
17 this.code = 'UND_ERR_CONNECT_TIMEOUT'
18 }
19}
20
21class HeadersTimeoutError extends UndiciError {
22 constructor (message) {
23 super(message)
24 Error.captureStackTrace(this, HeadersTimeoutError)
25 this.name = 'HeadersTimeoutError'
26 this.message = message || 'Headers Timeout Error'
27 this.code = 'UND_ERR_HEADERS_TIMEOUT'
28 }
29}
30
31class HeadersOverflowError extends UndiciError {
32 constructor (message) {
33 super(message)
34 Error.captureStackTrace(this, HeadersOverflowError)
35 this.name = 'HeadersOverflowError'
36 this.message = message || 'Headers Overflow Error'
37 this.code = 'UND_ERR_HEADERS_OVERFLOW'
38 }
39}
40
41class BodyTimeoutError extends UndiciError {
42 constructor (message) {
43 super(message)
44 Error.captureStackTrace(this, BodyTimeoutError)
45 this.name = 'BodyTimeoutError'
46 this.message = message || 'Body Timeout Error'
47 this.code = 'UND_ERR_BODY_TIMEOUT'
48 }
49}
50
51class ResponseStatusCodeError extends UndiciError {
52 constructor (message, statusCode, headers, body) {
53 super(message)
54 Error.captureStackTrace(this, ResponseStatusCodeError)
55 this.name = 'ResponseStatusCodeError'
56 this.message = message || 'Response Status Code Error'
57 this.code = 'UND_ERR_RESPONSE_STATUS_CODE'
58 this.body = body
59 this.status = statusCode
60 this.statusCode = statusCode
61 this.headers = headers
62 }
63}
64
65class InvalidArgumentError extends UndiciError {
66 constructor (message) {
67 super(message)
68 Error.captureStackTrace(this, InvalidArgumentError)
69 this.name = 'InvalidArgumentError'
70 this.message = message || 'Invalid Argument Error'
71 this.code = 'UND_ERR_INVALID_ARG'
72 }
73}
74
75class InvalidReturnValueError extends UndiciError {
76 constructor (message) {
77 super(message)
78 Error.captureStackTrace(this, InvalidReturnValueError)
79 this.name = 'InvalidReturnValueError'
80 this.message = message || 'Invalid Return Value Error'
81 this.code = 'UND_ERR_INVALID_RETURN_VALUE'
82 }
83}
84
85class RequestAbortedError extends UndiciError {
86 constructor (message) {
87 super(message)
88 Error.captureStackTrace(this, RequestAbortedError)
89 this.name = 'AbortError'
90 this.message = message || 'Request aborted'
91 this.code = 'UND_ERR_ABORTED'
92 }
93}
94
95class InformationalError extends UndiciError {
96 constructor (message) {
97 super(message)
98 Error.captureStackTrace(this, InformationalError)
99 this.name = 'InformationalError'
100 this.message = message || 'Request information'
101 this.code = 'UND_ERR_INFO'
102 }
103}
104
105class RequestContentLengthMismatchError extends UndiciError {
106 constructor (message) {
107 super(message)
108 Error.captureStackTrace(this, RequestContentLengthMismatchError)
109 this.name = 'RequestContentLengthMismatchError'
110 this.message = message || 'Request body length does not match content-length header'
111 this.code = 'UND_ERR_REQ_CONTENT_LENGTH_MISMATCH'
112 }
113}
114
115class ResponseContentLengthMismatchError extends UndiciError {
116 constructor (message) {
117 super(message)
118 Error.captureStackTrace(this, ResponseContentLengthMismatchError)
119 this.name = 'ResponseContentLengthMismatchError'
120 this.message = message || 'Response body length does not match content-length header'
121 this.code = 'UND_ERR_RES_CONTENT_LENGTH_MISMATCH'
122 }
123}
124
125class ClientDestroyedError extends UndiciError {
126 constructor (message) {
127 super(message)
128 Error.captureStackTrace(this, ClientDestroyedError)
129 this.name = 'ClientDestroyedError'
130 this.message = message || 'The client is destroyed'
131 this.code = 'UND_ERR_DESTROYED'
132 }
133}
134
135class ClientClosedError extends UndiciError {
136 constructor (message) {
137 super(message)
138 Error.captureStackTrace(this, ClientClosedError)
139 this.name = 'ClientClosedError'
140 this.message = message || 'The client is closed'
141 this.code = 'UND_ERR_CLOSED'
142 }
143}
144
145class SocketError extends UndiciError {
146 constructor (message, socket) {
147 super(message)
148 Error.captureStackTrace(this, SocketError)
149 this.name = 'SocketError'
150 this.message = message || 'Socket error'
151 this.code = 'UND_ERR_SOCKET'
152 this.socket = socket
153 }
154}
155
156class NotSupportedError extends UndiciError {
157 constructor (message) {
158 super(message)
159 Error.captureStackTrace(this, NotSupportedError)
160 this.name = 'NotSupportedError'
161 this.message = message || 'Not supported error'
162 this.code = 'UND_ERR_NOT_SUPPORTED'
163 }
164}
165
166class BalancedPoolMissingUpstreamError extends UndiciError {
167 constructor (message) {
168 super(message)
169 Error.captureStackTrace(this, NotSupportedError)
170 this.name = 'MissingUpstreamError'
171 this.message = message || 'No upstream has been added to the BalancedPool'
172 this.code = 'UND_ERR_BPL_MISSING_UPSTREAM'
173 }
174}
175
176class HTTPParserError extends Error {
177 constructor (message, code, data) {
178 super(message)
179 Error.captureStackTrace(this, HTTPParserError)
180 this.name = 'HTTPParserError'
181 this.code = code ? `HPE_${code}` : undefined
182 this.data = data ? data.toString() : undefined
183 }
184}
185
186class ResponseExceededMaxSizeError extends UndiciError {
187 constructor (message) {
188 super(message)
189 Error.captureStackTrace(this, ResponseExceededMaxSizeError)
190 this.name = 'ResponseExceededMaxSizeError'
191 this.message = message || 'Response content exceeded max size'
192 this.code = 'UND_ERR_RES_EXCEEDED_MAX_SIZE'
193 }
194}
195
196class RequestRetryError extends UndiciError {
197 constructor (message, code, { headers, data }) {
198 super(message)
199 Error.captureStackTrace(this, RequestRetryError)
200 this.name = 'RequestRetryError'
201 this.message = message || 'Request retry error'
202 this.code = 'UND_ERR_REQ_RETRY'
203 this.statusCode = code
204 this.data = data
205 this.headers = headers
206 }
207}
208
209module.exports = {
210 HTTPParserError,
211 UndiciError,
212 HeadersTimeoutError,
213 HeadersOverflowError,
214 BodyTimeoutError,
215 RequestContentLengthMismatchError,
216 ConnectTimeoutError,
217 ResponseStatusCodeError,
218 InvalidArgumentError,
219 InvalidReturnValueError,
220 RequestAbortedError,
221 ClientDestroyedError,
222 ClientClosedError,
223 InformationalError,
224 SocketError,
225 NotSupportedError,
226 ResponseContentLengthMismatchError,
227 BalancedPoolMissingUpstreamError,
228 ResponseExceededMaxSizeError,
229 RequestRetryError
230}
Note: See TracBrowser for help on using the repository browser.