File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed
examples/nameko_sqlalchemy Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change 1+ from database import db_session , init_db
2+ from schema import schema
3+
4+ from graphql_server import (HttpQueryError , default_format_error ,
5+ encode_execution_results , json_encode ,load_json_body , run_http_query )
6+
7+
8+ class App ():
9+ def __init__ (self ):
10+ init_db ()
11+
12+ def query (self , request ):
13+ data = self .parse_body (request )
14+ execution_results , params = run_http_query (
15+ schema ,
16+ 'post' ,
17+ data )
18+ result , status_code = encode_execution_results (
19+ execution_results ,
20+ format_error = default_format_error ,is_batch = False , encode = json_encode )
21+ return result
22+
23+ def parse_body (self ,request ):
24+ # We use mimetype here since we don't need the other
25+ # information provided by content_type
26+ content_type = request .mimetype
27+ if content_type == 'application/graphql' :
28+ return {'query' : request .data .decode ('utf8' )}
29+
30+ elif content_type == 'application/json' :
31+ return load_json_body (request .data .decode ('utf8' ))
32+
33+ elif content_type in ('application/x-www-form-urlencoded' , 'multipart/form-data' ):
34+ return request .form
35+
36+ return {}
You can’t perform that action at this time.
0 commit comments