http4k Kotlin
適用於 http4k 的 Kotlin 程式碼片段,以空 GIF 回應對 /pixel.gif 的請求,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