wcz-layout
Version:
27 lines (26 loc) • 1.11 kB
JavaScript
import { f as getSessionUser } from "./utils-KaM5VMTJ.mjs";
import { n as getAppToken, t as getAccessToken } from "./tokens-D8CVIFTb.mjs";
import "virtual:wcz-layout";
import { createServerOnlyFn } from "@tanstack/react-start";
import axios, { AxiosError } from "axios";
import https from "node:https";
//#region src/lib/createApi.ts
const httpsAgent = new https.Agent({ rejectUnauthorized: false });
const createApi = createServerOnlyFn(async ({ baseURL, scopeKey }) => {
const resolvedBaseURL = process.env[baseURL];
if (!resolvedBaseURL) throw new Error(`"${baseURL}" env variable is not set.`);
const accessToken = await getSessionUser() ? await getAccessToken(scopeKey) : await getAppToken(scopeKey);
const api = axios.create({
baseURL: resolvedBaseURL,
httpsAgent,
headers: { Authorization: `Bearer ${accessToken}` }
});
api.interceptors.response.use(void 0, (error) => {
if (error instanceof AxiosError) throw new Error(error.response?.data?.message ?? error.message);
throw error;
});
return api;
});
//#endregion
export { createApi as t };
//# sourceMappingURL=createApi-CLYWCzR2.mjs.map