Scratch space for learning atproto app development

Fold error handler into server.ts

Changed files
+6 -15
src
-12
src/middleware/errorHandler.ts
···
-
import type { ErrorRequestHandler, RequestHandler } from 'express'
-
-
const unexpectedRequest: RequestHandler = (_req, res) => {
-
res.sendStatus(404)
-
}
-
-
const addErrorToRequestLog: ErrorRequestHandler = (err, _req, res, next) => {
-
res.locals.err = err
-
next(err)
-
}
-
-
export default () => [unexpectedRequest, addErrorToRequestLog]
···
+6 -3
src/server.ts
···
import events from 'node:events'
import type http from 'node:http'
-
import express, { type Express } from 'express'
import { pino } from 'pino'
import { createDb, migrateToLatest } from '#/db'
import { env } from '#/env'
import { Ingester } from '#/firehose/ingester'
-
import errorHandler from '#/middleware/errorHandler'
import requestLogger from '#/middleware/requestLogger'
import { createRouter } from '#/routes'
import { createClient } from '#/auth/client'
···
app.use(router)
// Error handlers
-
app.use(errorHandler())
const server = app.listen(env.PORT)
await events.once(server, 'listening')
···
import events from 'node:events'
import type http from 'node:http'
+
import express, { type Express, type ErrorRequestHandler } from 'express'
import { pino } from 'pino'
import { createDb, migrateToLatest } from '#/db'
import { env } from '#/env'
import { Ingester } from '#/firehose/ingester'
import requestLogger from '#/middleware/requestLogger'
import { createRouter } from '#/routes'
import { createClient } from '#/auth/client'
···
app.use(router)
// Error handlers
+
app.use((_req, res) => res.sendStatus(404))
+
app.use(((err, _req, res, next) => {
+
res.locals.err = err
+
next(err)
+
}) as ErrorRequestHandler)
const server = app.listen(env.PORT)
await events.once(server, 'listening')