UNPKG

@defra/wls-eps-web-service

Version:

The web service for wildlife licencing of European Protected Species

44 lines (40 loc) 1.12 kB
import { ERRORS } from '../uris.js' /** * Handle 400 and 500 errors * @param request * @param h * @returns {string|((key?: IDBValidKey) => void)|*} */ export const errorHandler = async (request, h) => { if (!request.response.isBoom) { return h.continue } if (request?.response?.output?.statusCode === 404) { /* * 404 page not found errors */ return h .view(ERRORS.NOT_FOUND.page) .code(200) } else { // other 4xx or 5xx errors const requestDetail = { url: request.url, path: request.path, query: request.query, params: request.params, payload: request.payload, headers: request.headers, state: request.state, method: request.method, output: request?.response?.output?.payload, stack: request?.response?.stack } const journeyData = await request.cache().getData() console.error('Error processing request. Request: %j, userId: %s, applicationId: %s', requestDetail, journeyData?.userId, journeyData?.applicationId) return h.view(ERRORS.SERVICE_ERROR.page).code(200) } }