From 188bdf7768c9594a01a18abae3fa9a3114802508 Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Wed, 30 Nov 2011 03:58:34 -0500 Subject: feat($http): add response interceptors --- src/service/http.js | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/service/http.js b/src/service/http.js index 5666f486..bdf55937 100644 --- a/src/service/http.js +++ b/src/service/http.js @@ -81,6 +81,8 @@ function $HttpProvider() { } }; + var responseInterceptors = this.responseInterceptors = []; + this.$get = ['$httpBackend', '$browser', '$exceptionHandler', '$cacheFactory', '$rootScope', '$q', function($httpBackend, $browser, $exceptionHandler, $cacheFactory, $rootScope, $q) { @@ -129,6 +131,10 @@ function $HttpProvider() { deferredResp = $q.defer(), promise = deferredResp.promise; + forEach(responseInterceptors, function(interceptor) { + promise = interceptor(promise); + }); + promise.success = function(fn) { promise.then(function(response) { fn(response.data, response.status, response.headers, config); -- cgit v1.2.3