私の現在のモジュール/コンポーネントベースのアーキテクチャでは、すべてresponseErrors
をAPI呼び出しから傍受しています。401 Unauthorized
に出くわしたら、ログアウトページにリダイレクトします。イベントをどこに入れるか
私の現在のコードは次のとおりです。
angular
.module('core')
.factory('authHTTPInterceptor', authHTTPInterceptor)
.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('authHTTPInterceptor');
}]);
function authHTTPInterceptor($rootScope) {
return {
'responseError': function (response) {
console.log(response.status);
if (response.status == 401)
redirectToLogout();
return response;
}
};
function redirectToLogout() {
window.location.href = 'logout.html';
}
}
私は別のエンティティにredirectToLogout
ロジックを移動し、これを適切ロジック分離し、ユニットテストを維持するためにunathorized
イベントを発するようにしたいです。
私の質問は、どの角度エンティティがそのようなイベントを待ち受けるべきなのかです。このモジュールのコントローラ、または<redirectListener></redirectListener>
のようなhtmlコードに入れられたコンポーネントなどがありますか?または、ちょうどredirector
サービスを作成してここに挿入する必要がありますか?これには何がベストプラクティスですか?