mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-01-30 02:23:54 +00:00
32 lines
956 B
TypeScript
32 lines
956 B
TypeScript
import axios from 'axios'
|
|
import { baserowConfig } from './playwright.config'
|
|
import { User } from './fixtures/user'
|
|
|
|
export function getClient(user?: User) {
|
|
const baseURL = `${baserowConfig.PUBLIC_BACKEND_URL}/api/`
|
|
const instance = axios.create({
|
|
baseURL,
|
|
headers: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
'Accept-Encoding': 'gzip, compress, deflate, br',
|
|
},
|
|
})
|
|
if (user !== undefined) {
|
|
instance.defaults.headers.Authorization = `JWT ${user.accessToken}`
|
|
}
|
|
|
|
// Add a response interceptor
|
|
instance.interceptors.response.use(function (response) {
|
|
// Do something with response data
|
|
return response;
|
|
}, function (error) {
|
|
if (error.response) {
|
|
console.error('API response error:', JSON.stringify(error.response.data));
|
|
}
|
|
// Do something with response error
|
|
return Promise.reject(error);
|
|
});
|
|
|
|
return instance
|
|
}
|