Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
function errorHandler(error, send, localize, type, prefix) {
if (error instanceof got.CacheError) {
send(safeLocal(localize, prefix, "cache_error", type));
} else if (error instanceof got.RequestError) {
send(safeLocal(localize, prefix, "request_error", type));
} else if (error instanceof got.ReadError) {
send(safeLocal(localize, prefix, "read_error", type));
} else if (error instanceof got.ParseError) {
send(safeLocal(localize, prefix, "parse_error", type));
} else if (error instanceof got.HTTPError) {
if (error.statusCode.startsWith("4")) {
send(safeLocal(localize, prefix, "4xx_error", type, error.statusCode));
} else if (error.statusCode.startsWith("5")) {
send(safeLocal(localize, prefix, "5xx_error", type, error.statusCode));
} else {
send(safeLocal(localize, prefix, "http_error", type, error.statusCode));
}
} else if (error instanceof got.MaxRedirectsError) {
send(safeLocal(localize, prefix, "redirect_error", type));
} else if (error instanceof got.UnsupportedProtocolError) {
err => {
const { response } = err;
if (err instanceof got.HTTPError) {
if (err.statusCode === 404) {
return new errors.NotFoundError(err.url);
}
return new errors.HTTPError(err.statusCode, err.statusMessage, err.url);
} else if (err instanceof got.RequestError) {
if (err.code === 'ETIMEDOUT') {
return new errors.TimeoutError(err.message, err.url);
}
return new errors.RequestError(err.url);
}
return new errors.PoketoError('ERROR', err.message);
},
],