У меня есть этот бит кода, который принимает последние 10 URL-запросов в пути '/ img' и помещает его в массив, а затем у меня есть два условия. Если длина массива уже равна 10, удалите последний индекс и добавьте новый в начало списка. И другое, если индекс url уже находится в массиве, удалите этот, так что у меня нет повторяющихся URL в этом списке. Вот код:
let recentPaths = [];
app.use('/img', (req, res, next) => {
const index = recentPaths.indexOf(req.originalUrl);
if (recentPaths.length === 10) {
recentPaths.pop();
}
if (index !== -1) {
recentPaths.splice(index, 1);
}
recentPaths.unshift(req.originalUrl);
next();
});
и затем у меня есть функция get, в которой я хочу получить данные из этого массива. Вот код:
app.get('/stats/paths/recent' ,sendRecentPaths);
async function sendRecentPaths(req, res) {
res.json(recentPaths);
}
Это работает, но мой вопрос, могу ли я сделать этот первый блок кода внутри этой функции get?
Я имею в виду, могу ли я использовать app.use () внутри app.get ()? Потому что я хочу, чтобы запрос из пути '/ img' отправлялся в массиве по пути '/stats/paths/recent'.