import { defineEventHandler, getQuery, readBody } from "h3"; // import { useStorage } from "@vueuse/core"; // import { buildState2, validationToken } from "../../utils/utils"; // import { validationToken } from "~/utils/globalMixin"; export default defineEventHandler(async (event) => { // defineAppConfig const baseUrl = process.env.VITE_BASE_URL; const method = event.node.req.method; const reqHeaders = getRequestHeaders(event); const config = useRuntimeConfig(); // let token = useStorage("id_token", "GuestAccess").value; // return { // reqHeaders, // config, // method, // baseUrl, // token, // }; console.info("config", config); // console.info("reqHeaders", reqHeaders); try { if (method === "GET") { // Proxy GET requests to the external API const query = getQuery(event); const response = await $fetch(`${baseUrl}api/repo/schema`, { params: query, }); return response; } if (method === "POST") { // Proxy POST requests to the external API const body = await readBody(event); const response = await $fetch(`${baseUrl}api/repo/schema`, { headers: { Authorization: reqHeaders.authorization, }, method, body, }); return response; } throw createError({ statusCode: 405, statusMessage: "Method Not Allowed" }); } catch (error) { console.error("Error communicating with the external API:", error); throw createError({ statusCode: error.statusCode || 500, statusMessage: error.statusMessage || "Internal Server Error", }); } });