2015-01-05 2 views
0

Я использую экспресс с запросом для связи с API; несколько файлов контроллеров используют экспорт, поэтому я могу хранить файлы маршрутов довольно.Express.js и запрос: Заголовки неожиданно перезагружаются

module.exports = function(app){ 

    var moment = require('moment'), 
     request = require('request'), 
     auth = require('../auth/auth.js')(app), 
     apiUrl = process.env.API_URL; 

    return { 

    addProduct: function addProduct(req,res) ... 

request.defaults установлены в файле Идент, Логин вызывает функцию там, чтобы установить заголовки для аутентификации пользователей по всему приложению.

auth.setToken = function(token, type, access) { 
    auth.request = request.defaults({ 
    headers: { 
     'x-access-token': token, 
     'x-access-type': type, 
     'x-access-level': access, 
    } 
    }); 
}; 

И затем используйте запрос с некоторыми модами.

auth.request.get(apiPath, function(err, apiRes) { 
    res.render(renderView, { 
    items: items, 
    }); 
}); 

Все отлично работает из файла «пользователя», но у меня есть несколько других файлов контроллера я просто добавил в, и по какой-то причине заголовки получить сброс (так что мой аутентификации потеряется) в каждой функции эти файлы. Я могу буквально скопировать и вставить файл пользователя в другие и иметь ту же проблему, или я могу поместить то, что хочу в другие файлы, в файл «user», и он отлично работает. Я не могу понять, что я сделал неправильно, но это будет очень грязно, если у меня будет только один файл ... какие-нибудь идеи?

ответ

0

Понял, что это проблема переменных, которые не передаются между файлами контроллера так, как я предполагал, поэтому я создал новую функцию для копирования токена из сеанса обратно в заголовки, и все разрешено.

Смежные вопросы