import { json } from "react-router";
import type { Route } from "./+types/api.public";
export async function loader({ request }: Route.LoaderArgs) {
const data = await fetchPublicData();
return json(data, {
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE",
"Access-Control-Allow-Headers": "Content-Type, Authorization",
},
});
}
export async function action({ request }: Route.ActionArgs) {
// Handle preflight request
if (request.method === "OPTIONS") {
return new Response(null, {
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE",
"Access-Control-Allow-Headers": "Content-Type",
},
});
}
// Handle actual request
const result = await processRequest(request);
return json(result, {
headers: {
"Access-Control-Allow-Origin": "*",
},
});
}