var createError = require('http-errors'); var express = require('express'); var logger = require('morgan'); var usersRouter = require('./routes/users'); var app = express(); app.use(logger('dev')); app.use(express.json()); // Indispensable pour lire req.body en JSON app.use(express.urlencoded({ extended: false })); // --- Routes --- app.use('/users', usersRouter); // Notre route API principale // --- Gestion des erreurs --- // catch 404 (route non trouvée) et transfert à l'errorHandler app.use(function(req, res, next) { next(createError(404, 'Route non trouvée')); }); // error handler app.use(function(err, req, res, next) { const errorDetails = req.app.get('env') === 'development' ? err : {}; // Renvoyer une erreur JSON au lieu d'une page HTML (res.render) res.status(err.status || 500); res.json({ error: { message: err.message, status: err.status, details: errorDetails.stack // Affiche le stack trace en dev } }); }); module.exports = app;