Packages

Facebook provider for Agala framework

Current section

Files

Jump to
agala_facebook lib receive controllers callback.ex
Raw

lib/receive/controllers/callback.ex

defmodule Agala.Provider.Facebook.Controllers.Callback do
alias Agala.Provider.Facebook.Controllers.View
def handle(conn) do
case conn.private.agala_bot_config[:chain] do
nil -> raise ArgumentError, "chain is not specified"
chain ->
chain.call(%Agala.Conn{request: conn.private.body, request_bot_params: conn.private.agala_bot_config}, [])
|> resolve_response(conn)
end
end
def resolve_response(%Agala.Conn{response: {:error, reason}}, conn) do
conn
|> View.render(400, %{errors: reason})
end
def resolve_response(%Agala.Conn{response: nil}, conn) do
conn
|> View.render(:ok)
end
end