aboutsummaryrefslogtreecommitdiffstats
path: root/src/service/xhr.error.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/xhr.error.js')
-rw-r--r--src/service/xhr.error.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/service/xhr.error.js b/src/service/xhr.error.js
new file mode 100644
index 00000000..7f8e4a19
--- /dev/null
+++ b/src/service/xhr.error.js
@@ -0,0 +1,41 @@
+/**
+ * @workInProgress
+ * @ngdoc service
+ * @name angular.service.$xhr.error
+ * @function
+ * @requires $log
+ *
+ * @description
+ * Error handler for {@link angular.service.$xhr $xhr service}. An application can replaces this
+ * service with one specific for the application. The default implementation logs the error to
+ * {@link angular.service.$log $log.error}.
+ *
+ * @param {Object} request Request object.
+ *
+ * The object has the following properties
+ *
+ * - `method` – `{string}` – The http request method.
+ * - `url` – `{string}` – The request destination.
+ * - `data` – `{(string|Object)=} – An optional request body.
+ * - `callback` – `{function()}` – The callback function
+ *
+ * @param {Object} response Response object.
+ *
+ * The response object has the following properties:
+ *
+ * - status – {number} – Http status code.
+ * - body – {string|Object} – Body of the response.
+ *
+ * @example
+ <doc:example>
+ <doc:source>
+ fetch a non-existent file and log an error in the console:
+ <button ng:click="$service('$xhr')('GET', '/DOESNT_EXIST')">fetch</button>
+ </doc:source>
+ </doc:example>
+ */
+angularServiceInject('$xhr.error', function($log){
+ return function(request, response){
+ $log.error('ERROR: XHR: ' + request.url, request, response);
+ };
+}, ['$log']);