🚀 新規事業

cf-pages-cors

最終更新 2026年05月09日 / 40_新規事業/SCALE_Build/カタログ/機能集/cf-pages-cors.md

Cloudflare Pages Functions CORS ヘルパ

用途

Cloudflare Pages Functions で CORS を統一処理するヘルパ。OPTIONS preflight + ヘッダー付与。

特徴

  • CORS preflight 対応
  • 全レスポンスにヘッダー自動付与
  • 型安全
  • 使い回し容易

実コード(SCALE Base より自動抽出)

scale-crm:functions/_lib/cors.ts の中身そのもの。コピペ即可。

// CORS ヘルパー(同一オリジンのため緩め設定)
export const CORS_HEADERS = {
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
  'Access-Control-Allow-Headers': 'Content-Type, X-User',
};

export function corsResponse(body: any, status = 200): Response {
  return new Response(JSON.stringify(body), {
    status,
    headers: { 'Content-Type': 'application/json', ...CORS_HEADERS },
  });
}

export function corsError(message: string, status = 500): Response {
  return corsResponse({ error: message }, status);
}

export function handleOptions(): Response {
  return new Response(null, { status: 204, headers: CORS_HEADERS });
}

ソースファイルのパス

/Users/oogushiyuuki/株式会社SCALE/scale-lead/functions/_lib/cors.ts

使い方

対象プロジェクトに該当ファイルをコピーして、props を流し込むだけ。

注意事項

  • 依存パッケージを忘れず追加