Todas as linguagens e frameworks
Spring WebFlux (Kotlin coRouter) Kotlin
Um snippet em Kotlin para Spring WebFlux (Kotlin coRouter) que responde às requisições para /pixel.gif com o GIF vazio, decodificado uma única vez na inicialização.
Spring WebFlux (Kotlin coRouter) Kotlin
package com.example.pixel
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
import org.springframework.context.annotation.Bean
import org.springframework.http.CacheControl
import org.springframework.http.MediaType
import org.springframework.web.reactive.function.server.bodyValueAndAwait
import org.springframework.web.reactive.function.server.coRouter
import java.util.Base64
private val GIF: ByteArray = Base64.getDecoder().decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")
@SpringBootApplication
class PixelApplication {
@Bean
fun pixelRoutes() = coRouter {
GET("/pixel.gif") {
ok().contentType(MediaType.IMAGE_GIF)
.contentLength(GIF.size.toLong())
.cacheControl(CacheControl.noStore())
.bodyValueAndAwait(GIF)
}
}
}
fun main(args: Array<String>) {
runApplication<PixelApplication>(*args)
}
Executamos este snippet e comparamos os bytes que ele retornou.
Verificar
curl -sI http://localhost:8080/pixel.gif
Site oficial: Spring WebFlux (Kotlin coRouter)