CORS Plugin
Penjelasan
Ktor punya plugin CORS resmi bawaan — diaktifkan lewat install(CORS) { }, dikonfigurasi dengan method allowMethod(), allowHeader(), dan allowHost() untuk menentukan origin mana yang diizinkan mengakses API.
Contoh Konsep
import io.ktor.server.plugins.cors.routing.*
import io.ktor.http.*
fun Application.module() {
install(CORS) {
allowMethod(HttpMethod.Get)
allowMethod(HttpMethod.Post)
allowHeader(HttpHeaders.ContentType)
allowHost("study.compiledaily.net", schemes = listOf("https"))
}
}
Praktikum
Tulis install(CORS) yang mengizinkan method GET dan POST, header ContentType, dan host "localhost:5173" dengan skema http (untuk development).
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Ktor TIDAK punya opsi "izinkan semua origin" sesederhana cors.Default() di Gin/Fiber — kamu HARUS eksplisit menyebutkan allowHost() satu per satu (atau anyHost() untuk kasus development yang benar-benar longgar), desain ini SENGAJA memaksa developer memikirkan origin mana yang benar-benar perlu diizinkan.