emptygif
زبان: فارسی

همه زبان‌ها و فریم‌ورک‌ها

Plug + Bandit Elixir

قطعه‌کد Elixir برای Plug + Bandit که به درخواست‌های /pixel.gif با GIF خالی پاسخ می‌دهد؛ GIF فقط یک‌بار هنگام راه‌اندازی دیکود می‌شود.

Plug + Bandit Elixir

فایل
pixel.exs
اجرا
elixir pixel.exs
Mix.install([:plug, :bandit])

defmodule Pixel.Router do
  use Plug.Router

  @gif Base.decode64!("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")

  plug :match
  plug :dispatch

  get "/pixel.gif" do
    conn
    |> put_resp_content_type("image/gif", nil)
    |> put_resp_header("cache-control", "no-store")
    |> send_resp(200, @gif)
  end

  match _ do
    send_resp(conn, 404, "Not Found")
  end
end

Bandit.start_link(plug: Pixel.Router, port: 8080)
Process.sleep(:infinity)

این قطعه‌کد را اجرا کردیم و بایت‌هایی را که برگرداند مقایسه کردیم.

بررسی

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

سایت رسمی: Plug + Bandit

موارد بیشتر در Elixir