From 8905f2e7a7096e8567e1d1871af62f0842303dfc Mon Sep 17 00:00:00 2001 From: Pitu Date: Fri, 29 Mar 2019 00:35:22 +0900 Subject: Added axios package --- src/site/plugins/axios.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/site/plugins/axios.js (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js new file mode 100644 index 0000000..5a169b2 --- /dev/null +++ b/src/site/plugins/axios.js @@ -0,0 +1,29 @@ +/* +import Vue from 'vue'; +import axios from 'axios'; +import VueAxios from 'vue-axios'; + +Vue.use(VueAxios, axios); +Vue.axios.defaults.headers.common.Accept = 'application/vnd.lolisafe.json'; +*/ + +export default function({ $axios, redirect }) { + $axios.onRequest(config => { + console.log(`Making request to > /${config.url}`); + }); + $axios.setHeader('accept', 'application/vnd.lolisafe.json'); + + $axios.onError(error => { + // console.log('====='); + console.log(error); + // console.log('====='); + /* + $toast.open({ + duration: 2500, + message: 'testing', + position: 'is-bottom', + type: error ? 'is-danger' : 'is-success' + }); + */ + }); +} -- cgit v1.2.3 From ab0839f1f50fcb477476871ca267a004c8fd35e4 Mon Sep 17 00:00:00 2001 From: Pitu Date: Wed, 24 Apr 2019 08:36:47 +0000 Subject: Globally catch exceptions --- src/site/plugins/axios.js | 35 ++++++++++++----------------------- 1 file changed, 12 insertions(+), 23 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 5a169b2..cc6d98e 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,29 +1,18 @@ -/* -import Vue from 'vue'; -import axios from 'axios'; -import VueAxios from 'vue-axios'; - -Vue.use(VueAxios, axios); -Vue.axios.defaults.headers.common.Accept = 'application/vnd.lolisafe.json'; -*/ - -export default function({ $axios, redirect }) { +export default function({ $axios, store }) { + $axios.setHeader('accept', 'application/vnd.lolisafe.json'); $axios.onRequest(config => { - console.log(`Making request to > /${config.url}`); + if (store.state.token) { + config.headers.common['Authorization'] = `bearer ${store.state.token}`; + } }); - $axios.setHeader('accept', 'application/vnd.lolisafe.json'); $axios.onError(error => { - // console.log('====='); - console.log(error); - // console.log('====='); - /* - $toast.open({ - duration: 2500, - message: 'testing', - position: 'is-bottom', - type: error ? 'is-danger' : 'is-success' - }); - */ + if (process.env.development) console.error('[AXIOS Error]', error); + if (process.browser) { + store.dispatch('alert', { + text: error.response.data.message, + error: true + }); + } }); } -- cgit v1.2.3 From 4df3976dedde11ed569c27f200d2e7d5c4cc2b11 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Mon, 29 Jun 2020 16:02:23 +0300 Subject: fix: dispatch logout from axios if token expires --- src/site/plugins/axios.js | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index cc6d98e..843a258 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -13,6 +13,10 @@ export default function({ $axios, store }) { text: error.response.data.message, error: true }); + + if (error.response.data.message.indexOf('Token expired') !== -1) { + store.dispatch('logout'); + } } }); } -- cgit v1.2.3 From 720ffaf0083564c85a07d66a6d303f34706add41 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Thu, 2 Jul 2020 02:50:55 +0300 Subject: feat: start refactoring the code to actually use vuex This includes creating multiple stores as needed for components and removing all complex states from components (since all those states should be stored in vuex) --- src/site/plugins/axios.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 843a258..cff149c 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,21 +1,22 @@ export default function({ $axios, store }) { $axios.setHeader('accept', 'application/vnd.lolisafe.json'); + $axios.onRequest(config => { - if (store.state.token) { - config.headers.common['Authorization'] = `bearer ${store.state.token}`; + if (store.state.auth.token) { + config.headers.common['Authorization'] = `bearer ${store.state.auth.token}`; } }); $axios.onError(error => { if (process.env.development) console.error('[AXIOS Error]', error); if (process.browser) { - store.dispatch('alert', { + store.dispatch('alert/set', { text: error.response.data.message, error: true }); if (error.response.data.message.indexOf('Token expired') !== -1) { - store.dispatch('logout'); + store.dispatch('auth/logout'); } } }); -- cgit v1.2.3 From b4603fd64e271c9c419e7d0269c4493f3253cadf Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Sat, 4 Jul 2020 03:53:06 +0300 Subject: fix: fix axios plugin throwing if no message from backend --- src/site/plugins/axios.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index cff149c..2f4a169 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -8,14 +8,23 @@ export default function({ $axios, store }) { }); $axios.onError(error => { - if (process.env.development) console.error('[AXIOS Error]', error); + if (process.env.NODE_ENV !== 'production') console.error('[AXIOS Error]', error); if (process.browser) { - store.dispatch('alert/set', { - text: error.response.data.message, - error: true - }); + if (process.env.NODE_ENV !== 'production') { + if (error.response?.data?.message) { + store.dispatch('alert/set', { + text: error.response.data.message, + error: true + }); + } else { + store.dispatch('alert/set', { + text: `[AXIOS]: ${error.message}`, + error: true + }); + } + } - if (error.response.data.message.indexOf('Token expired') !== -1) { + if (error.response?.data?.message.indexOf('Token expired') !== -1) { store.dispatch('auth/logout'); } } -- cgit v1.2.3 From ad852de51a0d2dd5d29c08838d5a430c58849e74 Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Wed, 8 Jul 2020 04:00:12 +0300 Subject: chore: linter the entire project using the new rules --- src/site/plugins/axios.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 2f4a169..378f922 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,25 +1,25 @@ -export default function({ $axios, store }) { +export default function ({ $axios, store }) { $axios.setHeader('accept', 'application/vnd.lolisafe.json'); - $axios.onRequest(config => { + $axios.onRequest((config) => { if (store.state.auth.token) { - config.headers.common['Authorization'] = `bearer ${store.state.auth.token}`; + config.headers.common.Authorization = `bearer ${store.state.auth.token}`; } }); - $axios.onError(error => { + $axios.onError((error) => { if (process.env.NODE_ENV !== 'production') console.error('[AXIOS Error]', error); if (process.browser) { if (process.env.NODE_ENV !== 'production') { if (error.response?.data?.message) { store.dispatch('alert/set', { text: error.response.data.message, - error: true + error: true, }); } else { store.dispatch('alert/set', { text: `[AXIOS]: ${error.message}`, - error: true + error: true, }); } } -- cgit v1.2.3 From 0f66d807035d3e32a66c7dc9bf55fb3be99aedac Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Fri, 10 Jul 2020 01:13:51 +0300 Subject: refactor: finish refactoring all the components to use vuex --- src/site/plugins/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 378f922..0308d39 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -24,9 +24,9 @@ export default function ({ $axios, store }) { } } - if (error.response?.data?.message.indexOf('Token expired') !== -1) { + /* if (error.response?.data?.message.indexOf('Token expired') !== -1) { store.dispatch('auth/logout'); - } + } */ } }); } -- cgit v1.2.3 From 90001c2df56d58e69fd199a518ae7f3e4ed327fc Mon Sep 17 00:00:00 2001 From: Zephyrrus Date: Thu, 24 Dec 2020 10:40:50 +0200 Subject: chore: remove trailing commas --- src/site/plugins/axios.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 0308d39..98bec5c 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -14,12 +14,12 @@ export default function ({ $axios, store }) { if (error.response?.data?.message) { store.dispatch('alert/set', { text: error.response.data.message, - error: true, + error: true }); } else { store.dispatch('alert/set', { text: `[AXIOS]: ${error.message}`, - error: true, + error: true }); } } -- cgit v1.2.3 From fb2c27086f570fec60f4d52dcc9ca80e53186293 Mon Sep 17 00:00:00 2001 From: Pitu Date: Thu, 24 Dec 2020 23:45:16 +0900 Subject: Fix ESLint rules once and for all --- src/site/plugins/axios.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index 98bec5c..e252425 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,13 +1,13 @@ -export default function ({ $axios, store }) { +export default function({ $axios, store }) { $axios.setHeader('accept', 'application/vnd.lolisafe.json'); - $axios.onRequest((config) => { + $axios.onRequest(config => { if (store.state.auth.token) { config.headers.common.Authorization = `bearer ${store.state.auth.token}`; } }); - $axios.onError((error) => { + $axios.onError(error => { if (process.env.NODE_ENV !== 'production') console.error('[AXIOS Error]', error); if (process.browser) { if (process.env.NODE_ENV !== 'production') { -- cgit v1.2.3 From ec2f9e0d989792c1760b48e063467cf6e59c580a Mon Sep 17 00:00:00 2001 From: Pitu Date: Fri, 25 Dec 2020 20:45:22 +0900 Subject: Rebrand --- src/site/plugins/axios.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/site/plugins/axios.js') diff --git a/src/site/plugins/axios.js b/src/site/plugins/axios.js index e252425..1c54488 100644 --- a/src/site/plugins/axios.js +++ b/src/site/plugins/axios.js @@ -1,5 +1,5 @@ export default function({ $axios, store }) { - $axios.setHeader('accept', 'application/vnd.lolisafe.json'); + $axios.setHeader('accept', 'application/vnd.chibisafe.json'); $axios.onRequest(config => { if (store.state.auth.token) { -- cgit v1.2.3