mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-07 13:41:23 +00:00
Add HTTP client wrapper and upgrade Axios to v1 (#594)
* refactor: add HTTP client wrapper and upgrade axios to v1 Introduce a thin HTTP wrapper (resources/scripts/http) that centralizes axios configuration, interceptors, and auth header injection. All 43 files now import from the wrapper instead of axios directly, making future library swaps a single-file change. Upgrade axios from 0.30.0 to 1.14.0. * fix: restore window.Ls assignment removed during axios refactor company.js uses window.Ls.set() to persist selected company, which broke after the axios plugin (that set window.Ls) was deleted.
This commit is contained in:
committed by
GitHub
parent
a38f09cf7b
commit
691178857f
40
resources/scripts/http/index.js
vendored
Normal file
40
resources/scripts/http/index.js
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
import axios from 'axios'
|
||||
import Ls from '@/scripts/services/ls.js'
|
||||
|
||||
window.Ls = Ls
|
||||
|
||||
const instance = axios.create({
|
||||
withCredentials: true,
|
||||
headers: {
|
||||
common: {
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
instance.interceptors.request.use(function (config) {
|
||||
const companyId = Ls.get('selectedCompany')
|
||||
const authToken = Ls.get('auth.token')
|
||||
|
||||
if (authToken) {
|
||||
config.headers.Authorization = authToken
|
||||
}
|
||||
|
||||
if (companyId) {
|
||||
config.headers.company = companyId
|
||||
}
|
||||
|
||||
return config
|
||||
})
|
||||
|
||||
function http(config) {
|
||||
return instance(config)
|
||||
}
|
||||
|
||||
http.get = instance.get.bind(instance)
|
||||
http.post = instance.post.bind(instance)
|
||||
http.put = instance.put.bind(instance)
|
||||
http.delete = instance.delete.bind(instance)
|
||||
http.patch = instance.patch.bind(instance)
|
||||
|
||||
export default http
|
||||
Reference in New Issue
Block a user