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

Remove http-statuses (overkill)

+20 -12
-1
package.json
··· 25 25 "dotenv": "^16.4.5", 26 26 "envalid": "^8.0.0", 27 27 "express": "^4.19.2", 28 - "http-status-codes": "^2.3.0", 29 28 "iron-session": "^8.0.2", 30 29 "kysely": "^0.27.4", 31 30 "multiformats": "^9.9.0",
+1 -2
src/middleware/errorHandler.ts
··· 1 1 import type { ErrorRequestHandler, RequestHandler } from 'express' 2 - import { StatusCodes } from 'http-status-codes' 3 2 4 3 const unexpectedRequest: RequestHandler = (_req, res) => { 5 - res.sendStatus(StatusCodes.NOT_FOUND) 4 + res.sendStatus(404) 6 5 } 7 6 8 7 const addErrorToRequestLog: ErrorRequestHandler = (err, _req, res, next) => {
+19 -9
src/middleware/requestLogger.ts
··· 1 1 import { randomUUID } from 'node:crypto' 2 2 import type { IncomingMessage, ServerResponse } from 'node:http' 3 3 import type { Request, RequestHandler, Response } from 'express' 4 - import { StatusCodes, getReasonPhrase } from 'http-status-codes' 5 4 import type { LevelWithSilent } from 'pino' 6 5 import { type CustomAttributeKeys, type Options, pinoHttp } from 'pino-http' 7 6 ··· 33 32 customLogLevel, 34 33 customSuccessMessage, 35 34 customReceivedMessage: (req) => `request received: ${req.method}`, 36 - customErrorMessage: (_req, res) => `request errored with status code: ${res.statusCode}`, 35 + customErrorMessage: (_req, res) => 36 + `request errored with status code: ${res.statusCode}`, 37 37 customAttributeKeys, 38 38 ...options, 39 39 } ··· 67 67 next() 68 68 } 69 69 70 - const customLogLevel = (_req: IncomingMessage, res: ServerResponse<IncomingMessage>, err?: Error): LevelWithSilent => { 71 - if (err || res.statusCode >= StatusCodes.INTERNAL_SERVER_ERROR) return LogLevel.Error 72 - if (res.statusCode >= StatusCodes.BAD_REQUEST) return LogLevel.Warn 73 - if (res.statusCode >= StatusCodes.MULTIPLE_CHOICES) return LogLevel.Silent 70 + const customLogLevel = ( 71 + _req: IncomingMessage, 72 + res: ServerResponse<IncomingMessage>, 73 + err?: Error 74 + ): LevelWithSilent => { 75 + if (err || res.statusCode >= 500) return LogLevel.Error 76 + if (res.statusCode >= 400) return LogLevel.Warn 77 + if (res.statusCode >= 300) return LogLevel.Silent 74 78 return LogLevel.Info 75 79 } 76 80 77 - const customSuccessMessage = (req: IncomingMessage, res: ServerResponse<IncomingMessage>) => { 78 - if (res.statusCode === StatusCodes.NOT_FOUND) return getReasonPhrase(StatusCodes.NOT_FOUND) 81 + const customSuccessMessage = ( 82 + req: IncomingMessage, 83 + res: ServerResponse<IncomingMessage> 84 + ) => { 85 + if (res.statusCode === 404) return 'Not found' 79 86 return `${req.method} completed` 80 87 } 81 88 82 - const genReqId = (req: IncomingMessage, res: ServerResponse<IncomingMessage>) => { 89 + const genReqId = ( 90 + req: IncomingMessage, 91 + res: ServerResponse<IncomingMessage> 92 + ) => { 83 93 const existingID = req.id ?? req.headers['x-request-id'] 84 94 if (existingID) return existingID 85 95 const id = randomUUID()