2016-10-03 3 views
0

App разработан в:. Ионную + RestangularКак добавить несколько Auth Interceptor в Restangular?

Я имею одну глобальную конфигурацию в Restangular для BaseUrl и Auth перехватчик [.. Как и для http://app ** ком]

Теперь мое требование иметь различный набор из них. [Как для http://yammer.com]

Как установить для этого различные перехватчики Auth и BaseURL?

Цель: Приложение будет иметь 2 BaseURL и AuthInterceptor. Если я позвоню Yammer, приложение будет связываться только с URL-адресами, предназначенными для Yammer, и если я вызову любой другой API, он будет связываться с глобальной конфигурацией.

+0

http://stackoverflow.com/questions/22274975/is-it -возможно использовать-restangular-setbaseurl-for-two-api-access-points/22276211 # 22276211 –

+0

@ Poyra zYilmaz Спасибо за информацию ... как насчет AuthInterceptor? Как я могу отправить заголовок для разных сценариев? – Anand

+0

вы можете проверить baseurl с условием if и предпринять разные действия для разных URL-адресов ... –

ответ

1

Вы можете добавить столько перехватчика, сколько хотите, используя addRequestInterceptor и поместите свою логику на каждый перехватчик.

В вашем случае вы можете иметь один или два перехватчика, которые могут проверить BaseUrl и заголовок изменения ...

RestangularProvider.addFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) { 
    if (url.startsWith('your.base.url2')) { 
     // change headers or do whatever you want 
    } 
    return { 
     element: element, 
     params: params, 
     headers: headers, 
     httpConfig: httpConfig 
    }; 
    }); 

    RestangularProvider.addFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) { 
    if (url.startsWith('your.base.url')) { 
     // change headers or do whatever you want 
    } 
    return { 
     element: element, 
     params: params, 
     headers: headers, 
     httpConfig: httpConfig 
    }; 
    }); 

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

+0

Спасибо Poyraz :) – Anand

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