$ location.path no cambia en una fábrica con AngularJS

Mi fábrica se ve como:

'use strict';

angular.module('myApp')
  .factory('httpInterceptor',['$q','$location', '$rootScope', function($q, $location, $rootScope){
    return {
      response: function(response) {

        if(response.success === false) {
console.log("Redirecting");
            $location.path('/login');
            return $q.reject(response);
        }

        return response || $q.when(response);
      }
    }
}]);

Escupe el registro, pero no cambia la ruta. ¿Qué puedo hacer para que esto suceda?

Respuestas a la pregunta(4)

Su respuesta a la pregunta