aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBastien Wirtz <bastien.wirtz@gmail.com>2021-10-10 10:37:20 +0200
committerBastien Wirtz <bastien.wirtz@gmail.com>2021-10-10 10:37:20 +0200
commit2fba043575e6a8db94434986c1781d2716c8f6d4 (patch)
tree636929cc74f164d9cbe2f8db3eee6c1d0806cffd
parentefc2bbb85673fb269e75d64655e433bed90a995a (diff)
downloadhomer-2fba043575e6a8db94434986c1781d2716c8f6d4.tar.gz
homer-2fba043575e6a8db94434986c1781d2716c8f6d4.tar.zst
homer-2fba043575e6a8db94434986c1781d2716c8f6d4.zip
Allow non json reponse in fetch.
-rw-r--r--src/components/services/Ping.vue14
-rw-r--r--src/mixins/service.js5
2 files changed, 7 insertions, 12 deletions
diff --git a/src/components/services/Ping.vue b/src/components/services/Ping.vue
index 6fd3ec5..d1fda57 100644
--- a/src/components/services/Ping.vue
+++ b/src/components/services/Ping.vue
@@ -9,10 +9,12 @@
9</template> 9</template>
10 10
11<script> 11<script>
12import service from "@/mixins/service.js";
12import Generic from "./Generic.vue"; 13import Generic from "./Generic.vue";
13 14
14export default { 15export default {
15 name: "Ping", 16 name: "Ping",
17 mixins: [service],
16 props: { 18 props: {
17 item: Object, 19 item: Object,
18 }, 20 },
@@ -27,16 +29,8 @@ export default {
27 }, 29 },
28 methods: { 30 methods: {
29 fetchStatus: async function () { 31 fetchStatus: async function () {
30 const url = `${this.item.url}`; 32 this.fetch("/", { method: "HEAD", cache: "no-cache" }, false)
31 fetch(url, { 33 .then(() => {
32 method: "HEAD",
33 cache: "no-cache",
34 credentials: "include",
35 })
36 .then((response) => {
37 if (!response.ok) {
38 throw Error(response.statusText);
39 }
40 this.status = "online"; 34 this.status = "online";
41 }) 35 })
42 .catch(() => { 36 .catch(() => {
diff --git a/src/mixins/service.js b/src/mixins/service.js
index ae23a27..17fa6fc 100644
--- a/src/mixins/service.js
+++ b/src/mixins/service.js
@@ -12,7 +12,7 @@ export default {
12 } 12 }
13 }, 13 },
14 methods: { 14 methods: {
15 fetch: function (path, init) { 15 fetch: function (path, init, json = true) {
16 let options = {}; 16 let options = {};
17 17
18 if (this.proxy?.useCredentials) { 18 if (this.proxy?.useCredentials) {
@@ -35,7 +35,8 @@ export default {
35 if (!response.ok) { 35 if (!response.ok) {
36 throw new Error("Not 2xx response"); 36 throw new Error("Not 2xx response");
37 } 37 }
38 return response.json(); 38
39 return json ? response.json() : response;
39 }); 40 });
40 }, 41 },
41 }, 42 },