emptygif
Idioma: Español

Todos los lenguajes y frameworks

Plug + Bandit Elixir

Un fragmento en Elixir para Plug + Bandit que responde a las peticiones a /pixel.gif con el GIF vacío, decodificado una sola vez al arrancar.

Plug + Bandit Elixir

Archivo
pixel.exs
Ejecutar
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)

Ejecutamos este fragmento y comparamos los bytes que devolvió.

Comprobar

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

Sitio oficial: Plug + Bandit

Más en Elixir