def execute(self, document, variable_values=None, timeout=None):
query_str = print_ast(document)
payload = {
'query': query_str,
'variables': variable_values or {}
}
data_key = 'json' if self.use_json else 'data'
post_args = {
'headers': self.headers,
'auth': self.auth,
'cookies': self.cookies,
'timeout': timeout or self.default_timeout,
data_key: payload
}
request = requests.post(self.url, **post_args)
request.raise_for_status()
result = request.json()
assert 'errors' in result or 'data' in result, 'Received non-compatible response "{}"'.format(result)
return ExecutionResult(
errors=result.get('errors'),
data=result.get('data')
)
评论列表
文章目录