the statusphere demo reworked into a vite/react app in a monorepo
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fold error handler into server.ts

+6 -15
-12
src/middleware/errorHandler.ts
··· 1 - import type { ErrorRequestHandler, RequestHandler } from 'express' 2 - 3 - const unexpectedRequest: RequestHandler = (_req, res) => { 4 - res.sendStatus(404) 5 - } 6 - 7 - const addErrorToRequestLog: ErrorRequestHandler = (err, _req, res, next) => { 8 - res.locals.err = err 9 - next(err) 10 - } 11 - 12 - export default () => [unexpectedRequest, addErrorToRequestLog]
+6 -3
src/server.ts
··· 1 1 import events from 'node:events' 2 2 import type http from 'node:http' 3 - import express, { type Express } from 'express' 3 + import express, { type Express, type ErrorRequestHandler } from 'express' 4 4 import { pino } from 'pino' 5 5 6 6 import { createDb, migrateToLatest } from '#/db' 7 7 import { env } from '#/env' 8 8 import { Ingester } from '#/firehose/ingester' 9 - import errorHandler from '#/middleware/errorHandler' 10 9 import requestLogger from '#/middleware/requestLogger' 11 10 import { createRouter } from '#/routes' 12 11 import { createClient } from '#/auth/client' ··· 55 54 app.use(router) 56 55 57 56 // Error handlers 58 - app.use(errorHandler()) 57 + app.use((_req, res) => res.sendStatus(404)) 58 + app.use(((err, _req, res, next) => { 59 + res.locals.err = err 60 + next(err) 61 + }) as ErrorRequestHandler) 59 62 60 63 const server = app.listen(env.PORT) 61 64 await events.once(server, 'listening')