2015-01-23 3 views
1

Я хотел бы иметь возможность настроить пользовательский заголовок в HTTP-запросах, которые запускают мои приложения. Этот заголовок должен указывать, из какого субмодуля запрос был уволен.Как настроить специальные пользовательские заголовки для модулей по запросу HTTP?

Я уже пробовал создавать перехватчик и декоратор (в каждом модуле), но оба варианта размещены на глобальном угловом сервисе $ http и, таким образом, переопределяют друг друга.

Единственный вариант, который работает, это указать заголовок при вызове службы $ http, но это не совсем то, что я хочу. Цель состоит в том, чтобы написать перехватчик или декоратор на каждом модуле, который захватывает все запросы от этого модуля, соответственно настраивая заголовок.

Любые идеи о том, как это решить?

ответ

3

Довольно точно, что это невозможно решить только путем разделения с использованием модулей, так как вы обнаружили, что служба $ http находится в модуле «ng», который автоматически включается. Когда вы вводите $ http, вы получаете тот же экземпляр, который определен в встроенном модуле «ng».

Ваш лучший выбор - это, вероятно, написать базовые классы, которые вы используете для двух объектов фабрики/службы, каждый абстрагирующий от фактических вызовов и задающих соответствующие заголовки. Хорошая основа для реализации уровня абстракции API здесь https://gist.github.com/jelbourn/6276338

1

что вы можете сделать (что я сделал), префикс всех путей api с именами модулей, например. 'stk-api/abc/get', 'fu-api/xyz/get' и т. д., а затем в перехватчике измените путь api для удаления части модуля 'stk-' или 'fu-' и добавили пользовательский заголовок в соответствии с удаленной частью или именем модуля.

Я знаю его решение для решения проблемы, но выполнил эту работу для меня ...