From 6ae835dbb3ac553fca820b743e1ad315684e7fc9 Mon Sep 17 00:00:00 2001 From: zack Date: Fri, 25 Oct 2024 20:09:50 -0400 Subject: [PATCH] add discord_handler --- .../plugs/discord_handler.ex | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/zoeyscomputer_web/plugs/discord_handler.ex diff --git a/lib/zoeyscomputer_web/plugs/discord_handler.ex b/lib/zoeyscomputer_web/plugs/discord_handler.ex new file mode 100644 index 0000000..85deb05 --- /dev/null +++ b/lib/zoeyscomputer_web/plugs/discord_handler.ex @@ -0,0 +1,24 @@ +defmodule ZoeyscomputerWeb.DiscordHandler do + import Plug.Conn + + def init(opts), do: opts + + def call(%{path_info: ["images", _id]} = conn, _opts) do + case get_req_header(conn, "user-agent") do + ["Mozilla/5.0 (compatible; Discordbot/" <> _rest] -> handle_discord(conn) + _ -> conn + end + end + + def call(conn, _opts), do: conn + + defp handle_discord(%{path_info: ["images", id]} = conn) do + url = "https://s3.zoeys.computer/imgs/uploads/#{id}.png" + + conn + |> put_resp_header("location", url) + |> put_resp_content_type("text/plain") + |> send_resp(302, "Redirecting to image") + |> halt() + end +end