Improved API tracing

This commit is contained in:
Tom Moor
2023-12-09 10:23:53 -05:00
parent cb0d84a803
commit aab5697b21
3 changed files with 27 additions and 12 deletions

View File

@@ -0,0 +1,23 @@
import stream from "stream";
import { Context, Next } from "koa";
import { Readable } from "readable-stream";
export default function apiResponse() {
return async function apiResponseMiddleware(ctx: Context, next: Next) {
await next();
const ok = ctx.status < 400;
if (
typeof ctx.body === "object" &&
!(ctx.body instanceof Readable) &&
!(ctx.body instanceof stream.Readable) &&
!(ctx.body instanceof Buffer)
) {
ctx.body = {
...ctx.body,
status: ctx.status,
ok,
};
}
};
}