http4k Kotlin
Пример на Kotlin для http4k, который отвечает на запросы к /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