philomena/lib/philomena_web/plugs/recode_parameter_plug.ex
byte[] d851e8cf62 various fixes:
line-heights
ability to edit filters
fix tag parameter decoding again
better error_tag message
2019-12-12 10:51:44 -05:00

18 lines
No EOL
403 B
Elixir

defmodule PhilomenaWeb.RecodeParameterPlug do
def init(opts), do: opts
def call(conn, [name: name]) do
fixed_value =
conn
|> Map.get(:params)
|> Map.get(name)
|> to_string()
|> URI.encode_www_form()
|> String.replace("%2B", "+")
|> String.replace("%25", "%")
params = Map.put(conn.params, name, fixed_value)
%{conn | params: params}
end
end