Packages

An HTTP request params accepting library providing atom key conversion, value type converting, validations etc in a plug.

Current section

Files

Jump to
paramour lib paramour plug.ex
Raw

lib/paramour/plug.ex

defmodule Paramour.Plug do
defmacro __using__(_opts) do
quote do
use Paramour.Params
def init(options), do: options
def call(conn, _options) do
conn = Map.put(conn, :original_params, conn.params)
case accept(conn.params) do
{:ok, params} ->
conn
|> Map.put(:params, params)
{:error, message} ->
{:error, message}
end
end
defoverridable [init: 1,
call: 2]
end
end
end