Ktor Kotlin
/pixel.gif へのリクエストに空の GIF を返す、Ktor 用の Kotlin スニペット。GIF は起動時に一度だけデコードします。
Ktor Kotlin
import io.ktor.http.ContentType
import io.ktor.http.HttpHeaders
import io.ktor.server.engine.embeddedServer
import io.ktor.server.netty.Netty
import io.ktor.server.response.header
import io.ktor.server.response.respondBytes
import io.ktor.server.routing.get
import io.ktor.server.routing.routing
import kotlin.io.encoding.Base64
private val GIF = Base64.decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
fun main() {
embeddedServer(Netty, port = 8080) {
routing {
get("/pixel.gif") {
call.response.header(HttpHeaders.CacheControl, "no-store")
call.respondBytes(GIF, ContentType.Image.GIF)
}
}
}.start(wait = true)
}
このスニペットは実行し、返されたバイト列を照合しました。
確認
curl -sI http://localhost:8080/pixel.gif