oai-proxy / src /server.ts
Xeeph's picture
Duplicate from idosal/oai-proxy
5bddbd8
raw
history blame
No virus
1.1 kB
import dotenv from "dotenv";
dotenv.config();
import express from "express";
import cors from "cors";
import pinoHttp from "pino-http";
import { logger } from "./logger";
import { keys } from "./keys";
import { proxyRouter } from "./proxy/routes";
import { handleInfoPage } from "./info-page";
const PORT = process.env.PORT || 7860;
const app = express();
// middleware
app.use(pinoHttp({ logger }));
app.use(cors());
app.use(
express.json({ limit: "10mb" }),
express.urlencoded({ extended: true, limit: "10mb" })
);
// routes
app.get("/", handleInfoPage);
app.use("/proxy", proxyRouter);
// 500 and 404
app.use((err: any, _req: unknown, res: express.Response, _next: unknown) => {
if (err.status) {
res.status(err.status).json({ error: err.message });
} else {
logger.error(err);
res.status(500).json({ error: "Internal server error" });
}
});
app.use((_req: unknown, res: express.Response) => {
res.status(404).json({ error: "Not found" });
});
// start server and load keys
app.listen(PORT, () => {
logger.info(`Server listening on port ${PORT}`);
keys.init();
});