Scratch space for learning atproto app development

Remove http-statuses (overkill)

Changed files
+20 -12
src
-1
package.json
···
"dotenv": "^16.4.5",
"envalid": "^8.0.0",
"express": "^4.19.2",
-
"http-status-codes": "^2.3.0",
"iron-session": "^8.0.2",
"kysely": "^0.27.4",
"multiformats": "^9.9.0",
+1 -2
src/middleware/errorHandler.ts
···
import type { ErrorRequestHandler, RequestHandler } from 'express'
-
import { StatusCodes } from 'http-status-codes'
const unexpectedRequest: RequestHandler = (_req, res) => {
-
res.sendStatus(StatusCodes.NOT_FOUND)
+
res.sendStatus(404)
}
const addErrorToRequestLog: ErrorRequestHandler = (err, _req, res, next) => {
+19 -9
src/middleware/requestLogger.ts
···
import { randomUUID } from 'node:crypto'
import type { IncomingMessage, ServerResponse } from 'node:http'
import type { Request, RequestHandler, Response } from 'express'
-
import { StatusCodes, getReasonPhrase } from 'http-status-codes'
import type { LevelWithSilent } from 'pino'
import { type CustomAttributeKeys, type Options, pinoHttp } from 'pino-http'
···
customLogLevel,
customSuccessMessage,
customReceivedMessage: (req) => `request received: ${req.method}`,
-
customErrorMessage: (_req, res) => `request errored with status code: ${res.statusCode}`,
+
customErrorMessage: (_req, res) =>
+
`request errored with status code: ${res.statusCode}`,
customAttributeKeys,
...options,
}
···
next()
}
-
const customLogLevel = (_req: IncomingMessage, res: ServerResponse<IncomingMessage>, err?: Error): LevelWithSilent => {
-
if (err || res.statusCode >= StatusCodes.INTERNAL_SERVER_ERROR) return LogLevel.Error
-
if (res.statusCode >= StatusCodes.BAD_REQUEST) return LogLevel.Warn
-
if (res.statusCode >= StatusCodes.MULTIPLE_CHOICES) return LogLevel.Silent
+
const customLogLevel = (
+
_req: IncomingMessage,
+
res: ServerResponse<IncomingMessage>,
+
err?: Error
+
): LevelWithSilent => {
+
if (err || res.statusCode >= 500) return LogLevel.Error
+
if (res.statusCode >= 400) return LogLevel.Warn
+
if (res.statusCode >= 300) return LogLevel.Silent
return LogLevel.Info
}
-
const customSuccessMessage = (req: IncomingMessage, res: ServerResponse<IncomingMessage>) => {
-
if (res.statusCode === StatusCodes.NOT_FOUND) return getReasonPhrase(StatusCodes.NOT_FOUND)
+
const customSuccessMessage = (
+
req: IncomingMessage,
+
res: ServerResponse<IncomingMessage>
+
) => {
+
if (res.statusCode === 404) return 'Not found'
return `${req.method} completed`
}
-
const genReqId = (req: IncomingMessage, res: ServerResponse<IncomingMessage>) => {
+
const genReqId = (
+
req: IncomingMessage,
+
res: ServerResponse<IncomingMessage>
+
) => {
const existingID = req.id ?? req.headers['x-request-id']
if (existingID) return existingID
const id = randomUUID()