emptygif
言語: 日本語

すべての言語・フレームワーク

Crystal standard library (HTTP::Server) Crystal

/pixel.gif へのリクエストに空の GIF を返す、Crystal standard library (HTTP::Server) 用の Crystal スニペット。GIF は起動時に一度だけデコードします。

Crystal standard library (HTTP::Server) Crystal

ファイル
server.cr
実行
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

フレームワークの最新ドキュメントと照らし合わせて確認済みです。

確認

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

公式サイト: Crystal standard library (HTTP::Server)

Crystal の他の例