CORS 미들웨어
CORS 헤더 설정
크로스 오리진 요청을 허용합니다.
function corsMiddleware() {
const corsHeaders = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
"Access-Control-Allow-Headers": "Content-Type, Authorization",
"Access-Control-Max-Age": "86400"
};
return {
preflight: (req) => {
if (req.method === "OPTIONS") {
return new Response(null, { headers: corsHeaders });
}
return null;
},
apply: (response) => {
Object.entries(corsHeaders).forEach(([key, value]) => {
response.headers.set(key, value);
});
return response;
}
};
}
const server = Bun.serve({
port: 3000,
fetch(req) {
const cors = corsMiddleware();
const preflightResponse = cors.preflight(req);
if (preflightResponse) return preflightResponse;
let response = new Response("CORS enabled API");
return cors.apply(response);
}
});