@@ -17,6 +17,10 @@ function mockTemplate() {
17
17
18
18
var interceptors = $httpProvider . interceptors ;
19
19
20
+ function statusIsSuccessful ( status ) {
21
+ return status >= 200 && status <= 299 ;
22
+ }
23
+
20
24
function getInterceptor ( interceptorExpression ) {
21
25
if ( angular . isString ( interceptorExpression ) ) {
22
26
return $injector . get ( interceptorExpression ) ;
@@ -82,11 +86,20 @@ function mockTemplate() {
82
86
for ( var i = interceptors . length - 1 ; i >= 0 ; i -- ) {
83
87
var interceptor = getInterceptor ( interceptors [ i ] ) ;
84
88
85
- if ( interceptor . response ) {
89
+ if ( interceptor . response &&
90
+ ( response . status === undefined || statusIsSuccessful ( response . status ) )
91
+ ) {
86
92
$q . when ( interceptor . response ( response ) ) . then ( function ( interceptedResponse ) {
87
93
response = interceptedResponse ;
88
94
} ) ;
89
95
}
96
+
97
+ if ( interceptor . responseError &&
98
+ ! ( response . status === undefined || statusIsSuccessful ( response . status ) ) ) {
99
+ $q . reject ( interceptor . responseError ( response ) ) . then ( null , function ( interceptedResponse ) {
100
+ response = interceptedResponse ;
101
+ } ) ;
102
+ }
90
103
}
91
104
92
105
return response ;
@@ -214,10 +227,6 @@ function mockTemplate() {
214
227
return myPromise ;
215
228
}
216
229
217
- function statusIsSuccessful ( status ) {
218
- return status >= 200 && status <= 299 ;
219
- }
220
-
221
230
function createHeaderGetterFunction ( responseHeaders ) {
222
231
return function ( headerName ) {
223
232
if ( ! headerName ) {
0 commit comments