2026-01-02 18:19:11 -03:00
|
|
|
// src/infra/http/app.js
|
|
|
|
|
|
2025-11-04 12:00:23 -03:00
|
|
|
const express = require('express');
|
2026-01-06 08:37:47 -03:00
|
|
|
const routes = require('./routes');
|
2025-11-04 12:00:23 -03:00
|
|
|
|
|
|
|
|
function createApp() {
|
2026-01-06 08:37:47 -03:00
|
|
|
const app = express();
|
2025-11-04 12:00:23 -03:00
|
|
|
|
2026-01-06 08:37:47 -03:00
|
|
|
app.use(express.json());
|
|
|
|
|
app.use(express.text({ type: '*/*' }));
|
|
|
|
|
|
2025-11-04 12:00:23 -03:00
|
|
|
|
2026-01-06 08:37:47 -03:00
|
|
|
app.use((req, res, next) => {
|
|
|
|
|
let data = '';
|
|
|
|
|
|
|
|
|
|
req.on('data', chunk => {
|
|
|
|
|
data += chunk;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
req.on('end', () => {
|
|
|
|
|
if (data && !req.body) {
|
|
|
|
|
req.rawBody = data;
|
|
|
|
|
|
|
|
|
|
// tenta JSON
|
|
|
|
|
try {
|
|
|
|
|
req.body = JSON.parse(data);
|
|
|
|
|
} catch {
|
|
|
|
|
req.body = data;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
next();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app.use('/api', routes);
|
|
|
|
|
|
|
|
|
|
return app;
|
2025-11-04 12:00:23 -03:00
|
|
|
}
|
|
|
|
|
|
2025-11-10 17:01:33 -03:00
|
|
|
module.exports = createApp;
|