Skip to content

Commit

Permalink
Add http logger (#32)
Browse files Browse the repository at this point in the history
* add http logger

* fix type
  • Loading branch information
gladwindos committed Mar 18, 2024
1 parent 4bee000 commit 26f5b43
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 9 deletions.
7 changes: 7 additions & 0 deletions packages/server/src/middleware/http-logger.middleware.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { Request, Response, NextFunction } from "express";
import { logger } from "../utils";

export const httpLogger = (req: Request, res: Response, next: NextFunction) => {
logger.info(`[${req.method}] ${req.originalUrl} - ${res.statusCode}`);
next();
};
1 change: 1 addition & 0 deletions packages/server/src/middleware/index.ts
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
export { errorHandler } from "./error-handler.middleware";
export { httpLogger } from "./http-logger.middleware";
16 changes: 8 additions & 8 deletions packages/server/src/router/setup/setup-proxy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,28 +24,28 @@ export const setupProxy = (router: Router, endpoint: Endpoint) => {
return url;
};

const onProxyRes = (res: IncomingMessage) => {
res.headers = {
...res.headers,
const onProxyRes = (proxyRes: IncomingMessage) => {
proxyRes.headers = {
...proxyRes.headers,
...endpoint.transformedResponse?.headers,
};

Object.keys(res.headers).forEach((key) => {
if (!res.headers[key]) {
delete res.headers[key];
Object.keys(proxyRes.headers).forEach((key) => {
if (!proxyRes.headers[key]) {
delete proxyRes.headers[key];
}
});

if (endpoint.policies?.includes(PolicyOption.RateLimit)) {
deleteHeaders(res, [
deleteHeaders(proxyRes, [
"X-Ratelimit-Limit",
"X-Ratelimit-Remaining",
"X-Ratelimit-Reset",
]);
}

if (endpoint.policies?.includes(PolicyOption.Cors)) {
deleteHeaders(res, [
deleteHeaders(proxyRes, [
"Access-Control-Allow-Origin",
"Access-Control-Allow-Credentials",
"Access-Control-Allow-Methods",
Expand Down
4 changes: 3 additions & 1 deletion packages/server/src/utils/start-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import express from "express";
import helmet from "helmet";
import { parseConfig } from "../config/parse-config";
import { createRouter } from "../router";
import { errorHandler } from "../middleware";
import { errorHandler, httpLogger } from "../middleware";
import { logger } from "./logger";

export const startServer = (filePath: string = "gateweaver") => {
Expand All @@ -16,6 +16,8 @@ export const startServer = (filePath: string = "gateweaver") => {

app.use(express.json());

app.use(httpLogger);

const router = createRouter(config);
app.use(router);

Expand Down

0 comments on commit 26f5b43

Please sign in to comment.