swagger2-koa
Version:
Koa 2 middleware for loading, parsing and validating requests via swagger2
40 lines (39 loc) • 2.49 kB
JavaScript
// src/debug.ts
import debug from "debug";
function debug_default(module) {
const log = debug(module);
if (!log.enabled) {
return async (_, next) => next();
}
return async (context, next) => {
const startTime = Date.now();
const {
method,
url,
request: { body }
} = context.request;
await next();
const status = Number.parseInt(context.status, 10);
const requestBody = JSON.stringify(body);
const responseBody = JSON.stringify(context.body);
const time = Date.now() - startTime;
if (requestBody !== void 0 && responseBody !== void 0) {
log(
`${method} ${url} ${requestBody} -> ${status} ${responseBody} ${time}ms`
);
}
if (requestBody !== void 0 && responseBody === void 0) {
log(`${method} ${url} ${requestBody} -> ${status} ${time}ms`);
}
if (requestBody === void 0 && responseBody !== void 0) {
log(`${method} ${url} -> ${status} ${responseBody} ${time}ms`);
}
if (requestBody === void 0 && responseBody === void 0) {
log(`${method} ${url} -> ${status} ${time}ms`);
}
};
}
export {
debug_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2RlYnVnLnRzIl0sCiAgIm1hcHBpbmdzIjogIjtBQThCQSxPQUFPLFdBQVc7QUFJSCxTQUFSLGNBQ0wsUUFFNEQ7QUFFNUQsUUFBTSxNQUFNLE1BQU0sTUFBTTtBQUV4QixNQUFJLENBQUMsSUFBSSxTQUFTO0FBRWhCLFdBQU8sT0FBTyxHQUFHLFNBQVMsS0FBSztBQUFBLEVBQ2pDO0FBR0EsU0FBTyxPQUFPLFNBQVMsU0FBUztBQUM5QixVQUFNLFlBQVksS0FBSyxJQUFJO0FBQzNCLFVBQU07QUFBQSxNQUNKO0FBQUEsTUFDQTtBQUFBLE1BQ0EsU0FBUyxFQUFFLEtBQUs7QUFBQSxJQUNsQixJQUFJLFFBQVE7QUFFWixVQUFNLEtBQUs7QUFHWCxVQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsUUFBUSxFQUFFO0FBQ2pELFVBQU0sY0FBYyxLQUFLLFVBQVUsSUFBSTtBQUN2QyxVQUFNLGVBQWUsS0FBSyxVQUFVLFFBQVEsSUFBSTtBQUNoRCxVQUFNLE9BQU8sS0FBSyxJQUFJLElBQUk7QUFHMUIsUUFBSSxnQkFBZ0IsVUFBYSxpQkFBaUIsUUFBVztBQUMzRDtBQUFBLFFBQ0UsR0FBRyxNQUFNLElBQUksR0FBRyxJQUFJLFdBQVcsT0FBTyxNQUFNLElBQUksWUFBWSxJQUFJLElBQUk7QUFBQSxNQUN0RTtBQUFBLElBQ0Y7QUFHQSxRQUFJLGdCQUFnQixVQUFhLGlCQUFpQixRQUFXO0FBQzNELFVBQUksR0FBRyxNQUFNLElBQUksR0FBRyxJQUFJLFdBQVcsT0FBTyxNQUFNLElBQUksSUFBSSxJQUFJO0FBQUEsSUFDOUQ7QUFHQSxRQUFJLGdCQUFnQixVQUFhLGlCQUFpQixRQUFXO0FBQzNELFVBQUksR0FBRyxNQUFNLElBQUksR0FBRyxPQUFPLE1BQU0sSUFBSSxZQUFZLElBQUksSUFBSSxJQUFJO0FBQUEsSUFDL0Q7QUFHQSxRQUFJLGdCQUFnQixVQUFhLGlCQUFpQixRQUFXO0FBQzNELFVBQUksR0FBRyxNQUFNLElBQUksR0FBRyxPQUFPLE1BQU0sSUFBSSxJQUFJLElBQUk7QUFBQSxJQUMvQztBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K