summaryrefslogtreecommitdiff
path: root/lib/server.rb
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-12-21 17:07:11 -0700
committermo khan <mo.khan@gmail.com>2020-12-21 17:07:11 -0700
commit143465ae64450be1a171b4f80111d53bb268fbc5 (patch)
tree8ce9347153695cf90cb12003e7cd50aa5ad6cfd7 /lib/server.rb
parent70e23f16e4d8f5c53ef8b6fede98e4b8dd4bc218 (diff)
feat: use rack request object to parse query
Diffstat (limited to 'lib/server.rb')
-rw-r--r--lib/server.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/server.rb b/lib/server.rb
index 600dce5..2c8d318 100644
--- a/lib/server.rb
+++ b/lib/server.rb
@@ -19,12 +19,21 @@ end
class Server
def call(env)
- query = '{ me }'
-
+ result = execute(query_for(Rack::Request.new(env)))
[
200,
{ 'Content-Type' => 'application/graphql' },
- [MySchema.execute(query).to_json]
+ [ result.to_json ]
]
end
+
+ private
+
+ def execute(query)
+ MySchema.execute(query)
+ end
+
+ def query_for(request)
+ request.post? ? request.body.read : request.params['query']
+ end
end