emptygif
언어: 한국어

모든 언어 및 프레임워크

Phoenix Elixir

/pixel.gif 요청에 빈 GIF로 응답하는 Phoenix용 Elixir 스니펫입니다. GIF는 시작할 때 한 번만 디코딩합니다.

Phoenix Elixir

설치
mix phx.new my_app
파일
pixel_controller.ex
실행
mix phx.server
# lib/my_app_web/controllers/pixel_controller.ex
defmodule MyAppWeb.PixelController do
  use MyAppWeb, :controller

  # Decoded once, at compile time.
  @gif Base.decode64!("R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==")

  def show(conn, _params) do
    conn
    |> put_resp_content_type("image/gif", nil)
    |> put_resp_header("cache-control", "no-store")
    |> send_resp(200, @gif)
  end
end

# lib/my_app_web/router.ex - outside the :browser pipeline (no session cookie, no CSRF)
scope "/", MyAppWeb do
  get "/pixel.gif", PixelController, :show
end

이 스니펫은 실행해 보고, 반환된 바이트를 비교했습니다.

확인

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

공식 사이트: Phoenix

Elixir의 다른 예제