UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

32 lines (31 loc) 929 B
import getDatabase from '../database/index.js'; import emitter from '../emitter.js'; import { RouteNotFoundError } from '@directus/errors'; /** * Handles not found routes. * * - If a hook throws an error, the error gets forwarded to the error handler. * - If a hook returns true, the handler assumes the response has been * processed and won't generate a response. * * @param req * @param res * @param next */ const notFound = async (req, res, next) => { try { const hooksResult = await emitter.emitFilter('request.not_found', false, { request: req, response: res }, { database: getDatabase(), schema: req.schema, accountability: req.accountability ?? null, }); if (hooksResult) { return next(); } next(new RouteNotFoundError({ path: req.path })); } catch (err) { next(err); } }; export default notFound;