blob: 03b3f1e2c21d254fe7db515e10a7b05d2ec20b75 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
require 'graphql'
require 'json'
require 'rack'
require 'types/cake'
require 'types/query'
require 'schema'
class Server
def call(env)
result = execute(query_for(Rack::Request.new(env)))
[
200,
{ 'Content-Type' => 'application/graphql' },
[ result.to_json ]
]
end
private
def execute(query)
Schema.execute(query)
end
def query_for(request)
request.post? ? request.body.read : request.params['query']
end
end
|