Tuesday, 21 April 2015

AngularJS Http Interceptor Example

- under the routing configuration

$httpProvider.interceptors
    .push(['$q', '$injector', function ($q, $injector) {
        return function (promise) {
            return promise.then(function (response) {
                return response;
            }, function (response) {
                if (response.status === 401) {
                    $injector.get('$state').go('login');
                } else if (response.status === 403) {
                    $injector.get('$state').go('resources');
                } else if (response.status === 404) {
                    $injector.get('$state').go('login');
                }
                return $q.reject(response);
            });
        };
    }]);

1 comment: