fix(testkit): macOS compat + fix test 8c ordering (#24)

This commit is contained in:
2026-03-18 21:01:13 -04:00
parent ca94c0a9e5
commit 83a2ec19e2
59 changed files with 4458 additions and 454 deletions

View File

@@ -0,0 +1,31 @@
import type { Request, Response, NextFunction } from "express";
import { makeLogger } from "../lib/logger.js";
import { latencyHistogram } from "../lib/histogram.js";
const logger = makeLogger("http");
export function responseTimeMiddleware(req: Request, res: Response, next: NextFunction): void {
const startedAt = Date.now();
res.on("finish", () => {
const durationMs = Date.now() - startedAt;
const route = req.route?.path as string | undefined;
const routeKey = `${req.method} ${route ?? req.path}`;
latencyHistogram.record(routeKey, durationMs);
logger.info("request", {
method: req.method,
path: req.path,
route: route ?? null,
status: res.statusCode,
duration_ms: durationMs,
ip:
(req.headers["x-forwarded-for"] as string | undefined)?.split(",")[0]?.trim() ??
req.socket.remoteAddress ??
null,
});
});
next();
}