Skip to content

Instantly share code, notes, and snippets.

@AbuzerAsif
Forked from edysegura/angularjs-interceptor.js
Last active May 8, 2018 09:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AbuzerAsif/76ca59ec35186348619e3d8297bb4e6c to your computer and use it in GitHub Desktop.
Save AbuzerAsif/76ca59ec35186348619e3d8297bb4e6c to your computer and use it in GitHub Desktop.
[angularjs] How to create an AngularJS HTTP Interceptor
// Intercepting HTTP calls with AngularJS.
angular.module('MyApp', [])
.config(function ($provide, $httpProvider) {
// Add the interceptor to the $httpProvider.
$httpProvider.interceptors.push('MyHttpInterceptor');
})
// Intercept http calls.
.factory('MyHttpInterceptor', function ($q) {
return {
// On request success
request: function (config) {
// console.log(config); // Contains the data about the request before it is sent.
// Return the config or wrap it in a promise if blank.
return config || $q.when(config);
},
// On request failure
requestError: function (rejection) {
// console.log(rejection); // Contains the data about the error on the request.
// Return the promise rejection.
return $q.reject(rejection);
},
// On response success
response: function (response) {
// console.log(response); // Contains the data from the response.
// Return the response or promise.
return response || $q.when(response);
},
// On response failture
responseError: function (rejection) {
// console.log(rejection); // Contains the data about the error.
// Return the promise rejection.
return $q.reject(rejection);
}
};
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment