Я хочу поставить свой API в тайм-аут. Я пытался выразить это «глобально», когда создаю сервер, но в ответе говорится только, что данные не возвращены, а не ошибка 504. У меня также есть возможность разместить его для каждого маршрута, я думаю, что время ожидания должно go в контроллере моего приложения.
function initialize() {
return new Promise((resolve, reject) => {
const app = express();
httpServer = http.createServer(app);
app.use(morgan('combined'));
app.use('/proyecto', router_proyecto);
app.use('/tramitacion',router_tramitacion);
httpServer.listen(webServerConfig.port, err => {
if (err) {
reject(err);
return;
}
//httpServer.timeout = 500;
console.log('Servidor web escuchando en puerto:'+webServerConfig.port);
resolve();
});
});
}
пример маршрута:
router_proyecto.route('/getProyecto/:proyid?')
.get(proyecto.getProyecto);
Контроллер (Тайм-аут должен go здесь):
async function getProyecto(req, res, next) {
try {
const context = {};
context.proyid = parseInt(req.params.proyid, 10);
const rows = await proyectos.getProyecto_BD(context);
if (rows.length >0) {
res.status(200).json(rows);
} else {
res.status(404).end();
}
} catch (err) {
next(err);
}
}
module.exports.getProyecto = getProyecto;