(err, req, res, next)
| 75 | * accepts it as an argument; it is expected to be mounted last. |
| 76 | */ |
| 77 | export const wsErrorHandler: express.ErrorRequestHandler = async (err, req, res, next) => { |
| 78 | let statusCode = 500 |
| 79 | if (errorHasStatusCode(err)) { |
| 80 | statusCode = err.statusCode |
| 81 | } else if (errorHasCode(err) && notFoundCodes.includes(err.code)) { |
| 82 | statusCode = HttpCode.NotFound |
| 83 | } |
| 84 | if (statusCode >= 500) { |
| 85 | logger.error(`${err.message} ${err.stack}`) |
| 86 | } else { |
| 87 | logger.debug(`${err.message} ${err.stack}`) |
| 88 | } |
| 89 | ;(req as WebsocketRequest).ws.end(`HTTP/1.1 ${statusCode} ${err.message}\r\n\r\n`) |
| 90 | } |
nothing calls this directly
no test coverage detected