Study
Ktor

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).

Editor Latihan

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.