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