WIP: initial prototype
- Added randomizeHost option - Added ignore status code option - Updated error classes - Added ndjson support - Retry on 502/3/4
This commit is contained in:
@ -10,20 +10,22 @@ class BadConfigurationError extends Error {
|
||||
}
|
||||
|
||||
class TimeoutError extends Error {
|
||||
constructor (message) {
|
||||
constructor (message, request) {
|
||||
super()
|
||||
Error.captureStackTrace(this, TimeoutError)
|
||||
this.name = 'TimeoutError'
|
||||
this.message = message || 'Timeout Error'
|
||||
this.request = request
|
||||
}
|
||||
}
|
||||
|
||||
class ConnectionError extends Error {
|
||||
constructor (message) {
|
||||
constructor (message, request) {
|
||||
super()
|
||||
Error.captureStackTrace(this, ConnectionError)
|
||||
this.name = 'ConnectionError'
|
||||
this.message = message || 'Connection Error'
|
||||
this.request = request
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,13 +57,14 @@ class DeserializationError extends Error {
|
||||
}
|
||||
|
||||
class ResponseError extends Error {
|
||||
constructor (err) {
|
||||
constructor (payload, statusCode, headers) {
|
||||
super()
|
||||
Error.captureStackTrace(this, ResponseError)
|
||||
this.name = 'ResponseError'
|
||||
this.message = (err && err.error && err.error.type) || 'Response Error'
|
||||
this.response = err
|
||||
this.statusCode = err && err.status
|
||||
this.message = (payload && payload.error && payload.error.type) || 'Response Error'
|
||||
this.response = payload
|
||||
this.statusCode = (payload && payload.status) || statusCode
|
||||
this.headers = headers
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user