2019-01-05 16:12:09 +00:00
|
|
|
import store from '@/store'
|
|
|
|
import { renew } from '@/utils/auth'
|
|
|
|
import { baseURL } from '@/utils/constants'
|
|
|
|
|
|
|
|
export async function fetchURL (url, opts) {
|
|
|
|
opts = opts || {}
|
|
|
|
opts.headers = opts.headers || {}
|
|
|
|
|
|
|
|
let { headers, ...rest } = opts
|
|
|
|
|
|
|
|
const res = await fetch(`${baseURL}${url}`, {
|
|
|
|
headers: {
|
2019-01-29 09:05:45 +00:00
|
|
|
'X-Auth': store.state.jwt,
|
2019-01-05 16:12:09 +00:00
|
|
|
...headers
|
|
|
|
},
|
|
|
|
...rest
|
|
|
|
})
|
|
|
|
|
|
|
|
if (res.headers.get('X-Renew-Token') === 'true') {
|
|
|
|
await renew(store.state.jwt)
|
|
|
|
}
|
|
|
|
|
|
|
|
return res
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function fetchJSON (url, opts) {
|
|
|
|
const res = await fetchURL(url, opts)
|
|
|
|
|
|
|
|
if (res.status === 200) {
|
|
|
|
return res.json()
|
|
|
|
} else {
|
|
|
|
throw new Error(res.status)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-12 15:15:56 +00:00
|
|
|
export function removePrefix (url) {
|
|
|
|
url = url.split('/').splice(2).join('/')
|
2019-01-05 16:12:09 +00:00
|
|
|
|
|
|
|
if (url === '') url = '/'
|
|
|
|
if (url[0] !== '/') url = '/' + url
|
|
|
|
return url
|
|
|
|
}
|
|
|
|
|