emptygif
Idioma: Español

Todos los lenguajes y frameworks

Crystal standard library (HTTP::Server) Crystal

Un fragmento en Crystal para Crystal standard library (HTTP::Server) que responde a las peticiones a /pixel.gif con el GIF vacío, decodificado una sola vez al arrancar.

Crystal standard library (HTTP::Server) Crystal

Archivo
server.cr
Ejecutar
crystal run server.cr
require "base64"
require "http/server"

GIF = Base64.decode("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")

server = HTTP::Server.new do |context|
  request, response = context.request, context.response
  if request.method == "GET" && request.path == "/pixel.gif"
    response.content_type = "image/gif"
    response.headers["Cache-Control"] = "no-store"
    response.content_length = GIF.size
    response.write(GIF)
  else
    response.respond_with_status(:not_found)
  end
end

server.bind_tcp "0.0.0.0", 8080
server.listen

Revisado según la documentación actual del framework.

Comprobar

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

Sitio oficial: Crystal standard library (HTTP::Server)

Más en Crystal