emptygif
ಭಾಷೆ: ಕನ್ನಡ

ಎಲ್ಲಾ ಭಾಷೆಗಳು ಮತ್ತು ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು

Apache Pekko HTTP Scala

/pixel.gif ಗೆ ಬರುವ ವಿನಂತಿಗಳಿಗೆ ಖಾಲಿ GIF ನೊಂದಿಗೆ ಉತ್ತರಿಸುವ, Apache Pekko HTTP ಗಾಗಿ ಒಂದು Scala ಸ್ನಿಪೆಟ್; GIF ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಒಮ್ಮೆ ಮಾತ್ರ ಡಿಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.

Apache Pekko HTTP Scala

ಇನ್‌ಸ್ಟಾಲ್
libraryDependencies ++= Seq("org.apache.pekko" %% "pekko-http" % "1.4.0", "org.apache.pekko" %% "pekko-stream" % "1.2.1")
ಫೈಲ್
Main.scala
import org.apache.pekko.actor.typed.ActorSystem
import org.apache.pekko.actor.typed.scaladsl.Behaviors
import org.apache.pekko.http.scaladsl.Http
import org.apache.pekko.http.scaladsl.model.{HttpEntity, MediaTypes}
import org.apache.pekko.http.scaladsl.model.headers.`Cache-Control`
import org.apache.pekko.http.scaladsl.model.headers.CacheDirectives.`no-store`
import org.apache.pekko.http.scaladsl.server.Directives.*

@main def pixelServer(): Unit =
  given ActorSystem[Nothing] = ActorSystem(Behaviors.empty, "pixel")

  val gif = HttpEntity(MediaTypes.`image/gif`, java.util.Base64.getDecoder.decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="))

  val route =
    path(separateOnSlashes("/pixel.gif".stripPrefix("/"))) {
      get {
        respondWithHeader(`Cache-Control`(`no-store`)) {
          complete(gif)
        }
      }
    }

  Http().newServerAt("0.0.0.0", 8080).bind(route)

ನಾವು ಈ ಸ್ನಿಪೆಟ್ ಅನ್ನು ರನ್ ಮಾಡಿ, ಅದು ಹಿಂತಿರುಗಿಸಿದ ಬೈಟ್‌ಗಳನ್ನು ಹೋಲಿಸಿದ್ದೇವೆ.

ಪರಿಶೀಲಿಸಿ

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

ಅಧಿಕೃತ ಸೈಟ್: Apache Pekko HTTP

Scala ನಲ್ಲಿ ಇನ್ನಷ್ಟು