Mengaktifkan dukungan CORS untuk Endpoint

CORS (Cross-origin resource sharing) adalah mekanisme standar yang memungkinkan panggilan XMLHttpRequest (XHR) yang dieksekusi di halaman web untuk berinteraksi dengan resource dari asal yang berbeda. Tanpa CORS, kebijakan origin yang sama yang diterapkan oleh semua browser akan mencegah permintaan lintas origin. Untuk informasi latar belakang selengkapnya tentang CORS, lihat dokumentasi referensi Mozilla Developer Network (MDN).

Standar CORS mengharuskan klien web menerbitkan preflight CORS OPTIONS untuk menentukan apakah server web yang diminta mendukung CORS. Jika server web mendukung permintaan CORS, server web akan menangani permintaan OPTIONS dengan header respons CORS yang tepat.

Menangani CORS di aplikasi backend

Jika backend Anda mendukung CORS, Anda dapat mengonfigurasi ESP atau ESPv2 untuk meneruskan permintaan CORS ke backend. Anda dapat mengaktifkan pass-through di spesifikasi OpenAPI untuk API seperti yang ditunjukkan di bawah ini:

swagger: "2.0"
host: "my-cool-api.endpoints.my-project-id.cloud.goog"
x-google-endpoints:
- name: "my-cool-api.endpoints.my-project-id.cloud.goog"
  allowCors: True

Menangani CORS dengan ESP atau ESPv2

Jika backend Anda tidak mendukung CORS, Anda dapat mengonfigurasi ESP atau ESPv2 untuk menangani permintaan CORS dengan menentukan flag startup CORS. Dalam pendekatan ini, permintaan Preflight CORS tidak akan diteruskan ke aplikasi backend Anda. Selain itu, ESP atau ESPv2 akan menambahkan header CORS yang dikonfigurasi ke respons dari layanan backend jika sesuai.

Opsi startup CORS berikut tersedia untuk ESP dan ESPv2