Skip to content

Commit 8813c3e

Browse files
author
Jason Kelly
committed
fixed bug in error interceptor
1 parent 875b844 commit 8813c3e

File tree

3 files changed

+25
-16
lines changed

3 files changed

+25
-16
lines changed

drivers/http/axios.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ module.exports = {
44
console.warn('@deveodk/vue-error-tracker : axios must be set before this plugin is used.')
55
}
66
},
7-
_interceptor: function (Vue, code) {
7+
_interceptor: function (Vue, code, errorCb) {
88
Vue.prototype.axios.interceptors.response.use(function (response) {
99
// Do something with response data
1010
code(response)
1111
return response
1212
}, function (error) {
13+
errorCb(error)
1314
// Do something with response error
1415
return error
1516
})

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@deveodk/vue-error-tracker",
3-
"version": "1.0.1",
3+
"version": "1.0.2",
44
"description": "Give your users an easy way to see when something in your application goes wrong. This package makes it easy to show error messages.",
55
"author": "Jason Kelly <[email protected]>",
66
"main": "dist/@deveodk/vue-error-tracker.common.js",

src/index.js

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,27 +16,35 @@ function plugin (Vue, options) {
1616
if (!response) {
1717
return
1818
}
19-
const length = Object.keys(options.HttpErrorCodes).length
20-
let temp
21-
let object
22-
for (let i = 0; i < length; i++) {
23-
temp = Object.keys(options.HttpErrorCodes)[i]
24-
object = options.HttpErrorCodes[temp]
25-
if (response.status === parseInt(temp)) {
26-
if (notification) {
27-
switch (object.type) {
28-
case 'success':
19+
trackErrors(response)
20+
}, (error) => {
21+
if (!error) {
22+
return
23+
}
24+
trackErrors(error)
25+
})
26+
}
27+
function trackErrors (response) {
28+
const length = Object.keys(options.HttpErrorCodes).length
29+
let temp
30+
let object
31+
for (let i = 0; i < length; i++) {
32+
temp = Object.keys(options.HttpErrorCodes)[i]
33+
object = options.HttpErrorCodes[temp]
34+
if (response.status === parseInt(temp)) {
35+
if (notification) {
36+
switch (object.type) {
37+
case 'success':
2938
options.NotificationDriver._notifySuccess(Vue, object.message, object.title)
3039
break
31-
case 'error':
40+
case 'error':
3241
options.NotificationDriver._notifyError(Vue, object.message, object.title)
3342
break
34-
}
3543
}
36-
return
3744
}
45+
return
3846
}
39-
})
47+
}
4048
}
4149
}
4250

0 commit comments

Comments
 (0)