wcz-layout
Version:
26 lines (25 loc) • 1.09 kB
JavaScript
import { f as getSessionUser } from "./utils-obBGIuT3.mjs";
import { n as getAppToken, t as getAccessToken } from "./tokens-DODxwvZ2.mjs";
import "virtual:wcz-layout";
import { createServerOnlyFn } from "@tanstack/react-start";
import axios, { AxiosError } from "axios";
import https from "node:https";
// 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;
});
export { createApi as t };
//# sourceMappingURL=createApi-L3ypB1gH.mjs.map