Почему nodejs возвращает 404?
Я пытаюсь создать пользовательский модуль для деплойда для аутентификации с помощью API Instagram. Код выглядит следующим образом:
var request = require('request');
var payload = undefined;
process.server.on('request', function(req, res) {
if (req.url === '/foo') {
function getPayload(callback) {
var code = req.headers.referer.substr(req.headers.referer.lastIndexOf('/') + 1);
request.post('https://api.instagram.com/oauth/access_token', {form:{
client_id: '****',
client_secret: '****',
grant_type: 'authorization_code',
redirect_uri: 'http://localhost:2403/auth/auth.html',
code: code
}},
function(error, response, body) {
var payload = JSON.stringify(body);
console.log(payload);
callback();
});
}
function setPayload() {
res.end(payload);
}
getPayload(setPayload);
}
});
Я могу console.log получить ответ от сервера instagram, но затем, когда я пытаюсь записать ответ обратно клиенту, я получаю ответ 404. Что мне не хватает? Извините, если это общий вопрос. Это было бы потому, что я нуб. Заранее спасибо.
Извините за отсутствие ясности. Изменить для получения дополнительной информации: я создаю конечную точку в /foo с приведенным выше кодом. Клиент отправляет запрос GET в /foo со ссылочного URL-адреса, содержащего код доступа Instagram. Затем сервер отправляет код доступа вместе с другими параметрами приложения на сервер Instagram, который возвращает объект, содержащий токен авторизации и информацию о пользователе. 404 приходит в тот момент, когда клиент получает /foo. Мой код успешно отправляет код доступа на сервер Instagram и возвращает объект, содержащий маркер доступа - это выводится на консоль - но он не записывает его обратно клиенту, и клиент получает 404. Кроме того, 404 является возвращается клиенту до того, как объект, возвращенный сервером Instagram, будет зарегистрирован в консоли.