@thi.ng/server
Version:
Minimal HTTP server with declarative routing, static file serving and freely extensible via pre/post interceptors
27 lines (26 loc) • 758 B
JavaScript
import { LogLevel, methodForLevel } from "@thi.ng/logger";
const logRequest = (level = "INFO") => {
const method = methodForLevel(level);
return {
pre: ({ logger, req, match, query, cookies }) => {
logger[method]("request route", req.method, match);
logger[method]("request headers", req.headers);
logger[method]("request cookies", cookies);
logger[method]("request query", query);
return true;
}
};
};
const logResponse = (level = "INFO") => {
const method = methodForLevel(level);
return {
post: ({ logger, match, res }) => {
logger[method]("response status", res.statusCode, match);
logger[method]("response headers", res.getHeaders());
}
};
};
export {
logRequest,
logResponse
};