Good Morning, J'ai rencontré un problème que je ne suis pas en mesure de résoudre moi-même.Enregistrement d'un intercepteur HTTP dans un module chargé paresseusement
J'essaie d'enregistrer un intercepteur http dans un endroit différent du bloc de configuration initial.
Faire cela fonctionne comme prévu:
angular.module('app', ['ngResource'])
.config(function($httpProvider) {
$httpProvider.interceptors.push(function() {
return {
request: function($request) {
console.log($request);
return $request;
}
}
})
})
Mais l'intercepteur fait partie d'un sous-module. Donc, mon application se présente comme suit:
EDIT:
angular.module('app', ['ngResource']);
angular.module('app.submodule', ['ngResource'])
.config(function($httpProvider) {
$httpProvider.interceptors.push(function() {
return {
request: function($request) {
console.log($request);
return $request;
}
}
})
})
De plus, le sous-module est lazyloaded. Mais je ne pense pas que ce soit la racine du problème.
J'ai essayé référençant le httpProvider dans le bloc de configuration initiale en ajoutant:
$httpProviderReference = $httpProvider;
donc je pourrais enregistrer un intercepteur plus tard. Cela ne fonctionnerait même pas dans le bloc initial run(). Inspecter le fournisseur, il semble avoir travaillé, mais l'intercepteur n'est jamais appelé.
Est-ce que quelqu'un sait comment contourner cela? J'essaye d'ajouter un jeton d'authentification à l'en-tête d'une demande.
Merci à l'avance, olu
Etes-vous sûr que angular.module ('app.submodule', []) fait ce que vous pensez qu'il fait, pour moi, il semble que c'est juste la création d'un nouveau module et ne sait rien sur l'autre module. – Delta
J'ai ajouté la dépendance à ngResource au sous-module. Est-ce ce que vous avez mentionné? Lorsque j'essaie d'enregistrer un intercepteur dans la méthode d'exécution des modules principaux, cela ne fonctionne pas non plus. – olu