defmodule PhilomenaWeb.ScraperCachePlug do @spec init(any()) :: any() def init(opts) do opts end @spec call(Plug.Conn.t(), any()) :: Plug.Conn.t() def call(conn, _opts) do params = conn.params |> Map.put_new("image", %{}) |> Map.put_new("scraper_cache", conn.params["url"]) |> Map.put("distance", normalize_dist(conn.params)) %Plug.Conn{conn | params: params} end defp normalize_dist(%{"distance" => distance}) do ("0" <> distance) |> Float.parse() |> elem(0) |> Float.to_string() end defp normalize_dist(_dist) do "0.25" end end