api/app.js
2020-03-02 20:50:33 +01:00

39 lines
878 B
JavaScript

import express from "express";
import cookieParser from "cookie-parser";
import Pino from "express-pino-logger";
import cors from "cors";
import routerStations from "./routes/v1/stations";
import config from "./config";
import { formatResponseError } from "./libs/Format";
// Initialisation du logger
const pino = new Pino({
prettyPrint: true
});
pino.logger.info(`Server started on port ${config.port}`);
const app = express();
app.use(cors());
// Permet de sauvegarder l'ip du client et non du proxy
app.set("trust proxy", config.trustProxy);
app.use(cookieParser());
// Utilisation de Pino
app.use(pino);
// Déclaration des routes
app.use("/v1/stations", routerStations);
// Gestion des erreurs
app.use((err, req, res, next) => {
res.error = err;
if (res.headersSent) {
next(err);
} else {
formatResponseError(res, err);
}
});
module.exports = app;