UNPKG

nephele

Version:

Highly customizable and extensible WebDAV server for Node.js and Express.

108 lines 4.57 kB
import { BadGatewayError, BadRequestError, EncodingNotSupportedError, FailedDependencyError, ForbiddenError, InsufficientStorageError, InternalServerError, LockedError, MediaTypeNotSupportedError, MethodNotImplementedError, MethodNotSupportedError, NotAcceptableError, PreconditionFailedError, PropertyIsProtectedError, RangeNotSatisfiableError, RequestTimeoutError, RequestURITooLongError, ResourceExistsError, ResourceNotFoundError, ResourceNotModifiedError, ResourceTreeNotCompleteError, ServiceUnavailableError, UnauthorizedError, UnprocessableEntityError, } from './Errors/index.js'; export function catchErrors(fn, errorHandler) { return async (...args) => { try { return await fn(...args); } catch (e) { if (e instanceof ResourceNotModifiedError) { await errorHandler(304, e.message, e, args); return; } if (e instanceof BadRequestError) { await errorHandler(400, e.message, e, args); return; } if (e instanceof UnauthorizedError) { await errorHandler(401, e.message, e, args); return; } if (e instanceof ForbiddenError) { await errorHandler(403, e.message, e, args); return; } if (e instanceof PropertyIsProtectedError) { await errorHandler(403, e.message, e, args); return; } if (e instanceof ResourceNotFoundError) { await errorHandler(404, e.message, e, args); return; } if (e instanceof MethodNotSupportedError) { await errorHandler(405, e.message, e, args); return; } if (e instanceof ResourceExistsError) { await errorHandler(405, e.message, e, args); return; } if (e instanceof EncodingNotSupportedError) { await errorHandler(406, e.message, e, args); return; } if (e instanceof NotAcceptableError) { await errorHandler(406, e.message, e, args); return; } if (e instanceof RequestTimeoutError) { await errorHandler(408, e.message, e, args); return; } if (e instanceof ResourceTreeNotCompleteError) { await errorHandler(409, e.message, e, args); return; } if (e instanceof PreconditionFailedError) { await errorHandler(412, e.message, e, args); return; } if (e instanceof RequestURITooLongError) { await errorHandler(414, e.message, e, args); return; } if (e instanceof MediaTypeNotSupportedError) { await errorHandler(415, e.message, e, args); return; } if (e instanceof RangeNotSatisfiableError) { await errorHandler(416, e.message, e, args); return; } if (e instanceof UnprocessableEntityError) { await errorHandler(422, e.message, e, args); return; } if (e instanceof LockedError) { await errorHandler(423, e.message, e, args); return; } if (e instanceof FailedDependencyError) { await errorHandler(424, e.message, e, args); return; } if (e instanceof InternalServerError) { await errorHandler(500, e.message, e, args); return; } if (e instanceof MethodNotImplementedError) { await errorHandler(501, e.message, e, args); return; } if (e instanceof BadGatewayError) { await errorHandler(502, e.message, e, args); return; } if (e instanceof ServiceUnavailableError) { await errorHandler(503, e.message, e, args); return; } if (e instanceof InsufficientStorageError) { await errorHandler(507, e.message, e, args); return; } await errorHandler(500, e.message || 'Internal server error.', e, args); } }; } //# sourceMappingURL=catchErrors.js.map