CORS
@gaman/cors
adalah middleware resmi untuk menangani CORS (Cross-Origin Resource Sharing) di framework GamanJS.
CORS dibutuhkan ketika aplikasi web frontend (misalnya React, Vue, Svelte, dsb) melakukan request ke server API yang domain/port-nya berbeda.
Tanpa CORS, browser akan memblokir request lintas-origin tersebut karena alasan keamanan.
Install
Section titled “Install”GamanJS adalah kerangka kerja untuk aplikasi backend, Anda dapat menginstall menggunakan manajer paket favorit Anda:
npm install @gaman/cors
pnpm install @gaman/cors
yarn install @gaman/cors
bun install @gaman/cors
Cara Pakai
Section titled “Cara Pakai”berikut adalah cara implementasi @gaman/cors
import { cors } from "@gaman/cors"
defineBootstrap((app) => { app.mount( cors({ origin: '*' }) )
...})
jika ingin spesifik ke route tertentu tinggal implementasi seperti berikut
import { cors } from "@gaman/cors"
route.get('/user').middleware(cors())
Config
Section titled “Config”Disini banyak configurasi untuk @gaman/cors
ini, berikut adalah penjelasannya
Nama | Tipe | Default | Deskripsi |
---|---|---|---|
origin | string | string[] | "*" | Domain asal yang diizinkan. Bisa berupa string tunggal atau array. |
allowMethods | string[] | ["GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS"] | Method HTTP yang diizinkan. |
allowHeaders | string[] | null | null | Header yang diizinkan. null berarti semua header diizinkan. |
maxAge | number | undefined | Waktu cache preflight dalam detik. |
credentials | boolean | false | Apakah mengizinkan kredensial (cookie, autentikasi HTTP, dll.). |
exposeHeaders | string[] | [] | Header yang dapat diekspos ke client. |
Dan ada 3 lagi config bawaan middleware silakan cek halaman berikut Middleware Config.