http4k Kotlin
/pixel.gif へのリクエストに空の GIF を返す、http4k 用の Kotlin スニペット。GIF は起動時に一度だけデコードします。
http4k Kotlin
import org.http4k.core.Method.GET
import org.http4k.core.MemoryBody
import org.http4k.core.Response
import org.http4k.core.Status.Companion.OK
import org.http4k.routing.bind
import org.http4k.routing.routes
import org.http4k.server.SunHttp
import org.http4k.server.asServer
import java.util.Base64
private val GIF = Base64.getDecoder().decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
val app = routes(
"/pixel.gif" bind GET to {
Response(OK)
.header("Content-Type", "image/gif")
.header("Cache-Control", "no-store")
.body(MemoryBody(GIF))
},
)
fun main() {
app.asServer(SunHttp(8080)).start()
}
このスニペットは実行し、返されたバイト列を照合しました。
確認
curl -sI http://localhost:8080/pixel.gif