wstrzyknąć trasę $ do przechwytywacza http
Usiłuję wstrzyknąć niestandardowy nagłówek do każdego żądania API. Kiedy dostarczam jakiś zakodowany tekst, działa.
Kod roboczy
myApp.config(['$httpProvider', function ($httpProvider) {
var requestInterceptor = ['$q', '$rootScope',
function ($q, $rootScope) {
var interceptorInstance = {
request: function (config) {
config.headers['X-MyApp-CustomHeader'] = "foobar";
return config || $q.when(config);
}
};
return interceptorInstance;
}];
$httpProvider.interceptors.push(requestInterceptor);
}]);
Nie działający kod
myApp.config(['$httpProvider', function ($httpProvider) {
var requestInterceptor = ['$q', '$rootScope', '$route',
function ($q, $rootScope, $route ) {
var interceptorInstance = {
request: function (config) {
config.headers['X-MyApp-CustomHeader'] = $route.current.params.CustomParameter;
return config || $q.when(config);
}
};
return interceptorInstance;
}];
$httpProvider.interceptors.push(requestInterceptor);
}]);
Błąd, Podczas próby wstrzyknięcia$route
Nieprzechwycony błąd: [$ injector: cdep] Znaleziono zależność kołową: $ route <- $ httphttp://errors.angularjs.org/1.2.3/$ injector / cdep? p0 =% 24route% 20% 3C-% 20% 24http