Current section
Files
Jump to
Current section
Files
lib/graphql/plug.ex
defmodule GraphQL.Plug do
use Plug.Builder
plug Plug.Parsers,
parsers: [:graphql, :urlencoded, :multipart, :json],
pass: ["*/*"],
json_decoder: Poison
plug GraphQL.Plug.Endpoint
# plug GraphQL.Plug.GraphiQL
# TODO remove duplication call GraphQL.Plug.Helper.extract_init_options/1 here
def init(opts) do
schema = case Keyword.get(opts, :schema) do
{mod, func} -> apply(mod, func, [])
s -> s
end
%{schema: schema}
end
def call(conn, opts) do
conn = assign(conn, :graphql_options, opts)
super(conn, opts)
end
end