Я создаю приложение и использую среду http://c9.io для его разработки. Это приложение NodeJS, которое предоставляет некоторые конечные точки REST для запросов клиентского приложения. До сих пор все работало нормально, и сегодня я наблюдаю, что на 1 вызов, отправленный браузером в REST API, 2 запроса отображаются как полученные, и обработчик запросов вызывается 2 раза. Это замедлило время ответа на один запрос.
В инструментах разработчика Chrome отображается только один отправленный запрос, однако я использую app.use()
для регистрации входящих запросов в Express, и он печатает одно и то же 2 раза для каждого запроса. Кроме того, обработчик вызывается дважды.
Это происходит периодически, не каждый раз. Я работаю в корпоративной сети. Поскольку за день я отправил много запросов на тестирование, есть ли шанс, что программа мониторинга отправляет запросы, поскольку считает это подозрительным? Я не редактировал код, который обрабатывает запросы.
Изменить: добавление кода для обработчиков, как было предложено.
app.get('/suggestions/:keyword', function(r, s) {
sug_db.retrieveSuggestions(r.params.keyword, function(data) {
s.writeHead(200, {'content-type': 'text/html'});
s.write(renderSugg({data: data}))
s.end();
});
});
app.get('/search/:query', function(r, s) {
esc_db.search(r.params.query, function(data) {
s.send(renderResults({query: r.params.query, results:data}));
});
});
Как видите, они ничего не делают, кроме как получают некоторые данные из базы данных и возвращают результат в виде HTTP-ответа. Я использую шаблонизатор Pug (ранее Jade).