move token auth to a interceptor

This commit is contained in:
SrGooglo 2023-05-28 01:29:54 +00:00
parent 10db01bfef
commit 3f88523be7
2 changed files with 19 additions and 9 deletions

View File

@ -1,6 +1,5 @@
import handleBeforeRequest from "../helpers/handleBeforeRequest"
import handleAfterRequest from "../helpers/handleAfterRequest"
import SessionModel from "../models/session"
export default async (
request = {
@ -30,14 +29,6 @@ export default async (
let result = null
const makeRequest = async () => {
const sessionToken = await SessionModel.token
if (sessionToken) {
request.headers["Authorization"] = `${globalThis.isServerMode ? "Server" : "Bearer"} ${sessionToken}`
} else {
console.warn("Making a request with no session token")
}
const _result = await instance(request, ...args)
.catch((error) => {
return error

View File

@ -140,6 +140,25 @@ export default function createClient({
for (const [key, remote] of Object.entries(remotes)) {
sharedState.instances[key] = axios.create({
baseURL: remote.origin,
headers: {
"Content-Type": "application/json",
}
})
// create a interceptor to attach the token every request
sharedState.instances[key].interceptors.request.use((config) => {
// check if current request has no Authorization header, if so, attach the token
if (!config.headers["Authorization"]) {
const sessionToken = SessionModel.token
if (sessionToken) {
config.headers["Authorization"] = `${globalThis.isServerMode ? "Server" : "Bearer"} ${sessionToken}`
} else {
console.warn("Making a request with no session token")
}
}
return config
})
}