emptygif
زبان: فارسی

همه زبان‌ها و فریم‌ورک‌ها

ZIO HTTP Scala

قطعه‌کد Scala برای ZIO HTTP که به درخواست‌های /pixel.gif با GIF خالی پاسخ می‌دهد؛ GIF فقط یک‌بار هنگام راه‌اندازی دیکود می‌شود.

ZIO HTTP Scala

نصب
libraryDependencies += "dev.zio" %% "zio-http" % "3.11.6"
فایل
Main.scala
import zio.*
import zio.http.*

object Main extends ZIOAppDefault:
  private val gif = Chunk.fromArray(java.util.Base64.getDecoder.decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="))

  private val routes = Routes(
    Method.GET / "/pixel.gif" -> handler(
      Response(
        headers = Headers(Header.ContentType(MediaType.image.gif), Header.CacheControl.NoStore),
        body = Body.fromChunk(gif),
      )
    )
  )

  override val run = Server.serve(routes).provide(Server.defaultWithPort(8080))

این قطعه‌کد را اجرا کردیم و بایت‌هایی را که برگرداند مقایسه کردیم.

بررسی

curl -sI http://localhost:8080/pixel.gif

سایت رسمی: ZIO HTTP

موارد بیشتر در Scala