expo-popcore-old/lib/api/loomart-client.ts

35 lines
881 B
TypeScript

import { createClient, createConfig } from '@repo/loomart-sdk';
import { storage } from '../storage';
import { authEvents } from './client';
export const getAuthToken = async () =>
(await storage.getItem('bestaibest.better-auth.session_token')) || '';
export const loomartClient = createClient(
createConfig({
baseUrl: 'https://api.mixvideo.bowong.cc'
})
);
loomartClient.interceptors.request.use(async (request) => {
const Authorization = `Bearer ${await getAuthToken()}`
request.headers.append(`Authorization`, Authorization)
if (__DEV__) {
console.log('[API]', request.method, request.url);
}
return request;
})
loomartClient.interceptors.response.use(async (response) => {
if (__DEV__) {
console.log('[API]', response.status, response.url);
}
if (response.status === 401) {
authEvents.emitUnauthorized();
}
return response;
});