From 5d99b8448ef863f9b539838b3936b2d3aaf26f4a Mon Sep 17 00:00:00 2001 From: leandro <leandroalmada86@gmail.com> Date: Thu, 23 Sep 2021 17:47:57 +0200 Subject: [PATCH] add axios default X CSRFToken --- src/assets/js/map-util.js | 7 +++++++ src/services/project-api.js | 8 ++++++++ src/store/index.js | 6 ++++++ src/store/modules/feature.js | 6 ++++++ src/store/modules/feature_type.js | 5 +++++ src/store/modules/map.js | 6 ++++++ src/views/feature/Feature_edit.vue | 7 +++++++ src/views/project/Project_edit.vue | 7 +++++++ 8 files changed, 52 insertions(+) diff --git a/src/assets/js/map-util.js b/src/assets/js/map-util.js index 7b9c606c..2bb0f78e 100644 --- a/src/assets/js/map-util.js +++ b/src/assets/js/map-util.js @@ -3,6 +3,13 @@ import "leaflet/dist/leaflet.css"; import flip from '@turf/flip' import axios from "axios" +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + + let map; let dictLayersToLeaflet = {}; diff --git a/src/services/project-api.js b/src/services/project-api.js index 14019cb1..fd46c392 100644 --- a/src/services/project-api.js +++ b/src/services/project-api.js @@ -1,6 +1,14 @@ import axios from 'axios'; import store from '../store' + +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + + const baseUrl = store.state.configuration.VUE_APP_DJANGO_API_BASE; const projectAPI = { diff --git a/src/store/index.js b/src/store/index.js index ce5d58e6..cb00de20 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -8,6 +8,12 @@ import feature_type from "./modules/feature_type" import feature from "./modules/feature" import map from "./modules/map" +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + Vue.use(Vuex); diff --git a/src/store/modules/feature.js b/src/store/modules/feature.js index fd9ee283..f6f7f42e 100644 --- a/src/store/modules/feature.js +++ b/src/store/modules/feature.js @@ -1,6 +1,12 @@ const axios = require("axios"); import router from '../../router' +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + const feature = { namespaced: true, diff --git a/src/store/modules/feature_type.js b/src/store/modules/feature_type.js index e8986cb1..f4148c17 100644 --- a/src/store/modules/feature_type.js +++ b/src/store/modules/feature_type.js @@ -1,5 +1,10 @@ import axios from "axios" +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); const feature_type = { diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 207d3ebc..f29ef9f4 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -1,6 +1,12 @@ const axios = require("axios"); import { mapUtil } from "@/assets/js/map-util.js"; +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; +})('csrftoken'); + const map = { namespaced: true, diff --git a/src/views/feature/Feature_edit.vue b/src/views/feature/Feature_edit.vue index c13fb8bf..2b60ca87 100644 --- a/src/views/feature/Feature_edit.vue +++ b/src/views/feature/Feature_edit.vue @@ -240,6 +240,13 @@ import { mapUtil } from "@/assets/js/map-util.js"; const axios = require("axios"); import flip from "@turf/flip"; +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; + })('csrftoken'); + + export default { name: "Feature_edit", diff --git a/src/views/project/Project_edit.vue b/src/views/project/Project_edit.vue index 980c4466..72a6344c 100644 --- a/src/views/project/Project_edit.vue +++ b/src/views/project/Project_edit.vue @@ -172,6 +172,13 @@ import Dropdown from "@/components/Dropdown.vue"; import { mapGetters } from "vuex"; +axios.defaults.headers.common['X-CSRFToken'] = (name => { + var re = new RegExp(name + "=([^;]+)"); + var value = re.exec(document.cookie); + return (value != null) ? unescape(value[1]) : null; + })('csrftoken'); + + export default { name: "Project_edit", -- GitLab