1
0
Fork 0
mirror of https://github.com/edgurgel/httparrot synced 2025-04-17 03:54:12 -04:00
httparrot/lib/httparrot/get_handler.ex
2014-01-07 21:01:10 -03:00

29 lines
618 B
Elixir

defmodule HTTParrot.GetHandler do
@moduledoc """
Returns GET data.
"""
alias HTTParrot.GeneralRequestInfo
def init(_transport, _req, _opts) do
{:upgrade, :protocol, :cowboy_rest}
end
def allowed_methods(req, state) do
{["GET", "HEAD", "OPTIONS"], req, state}
end
def content_types_provided(req, state) do
{[{{"application", "json", []}, :get_json}], req, state}
end
def get_json(req, state) do
{info, req} = GeneralRequestInfo.retrieve(req)
{response(info), req, state}
end
defp response(info) do
info |> JSEX.encode!
end
def terminate(_, _, _), do: :ok
end