emptygif
Idioma: Português

Todas as linguagens e frameworks

Crystal standard library (HTTP::Server) Crystal

Um snippet em Crystal para Crystal standard library (HTTP::Server) que responde às requisições para /pixel.gif com o GIF vazio, decodificado uma única vez na inicialização.

Crystal standard library (HTTP::Server) Crystal

Arquivo
server.cr
Executar
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

Conferido com a documentação atual do framework.

Verificar

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

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

Mais em Crystal