使用graphene,客户端发送graphql请求时,如何拦截+内省post数据?

Using graphene, when sending a graphql request with a client, how can I intercept + introspect post data?

使用石墨烯,当向客户端发送出站 graphql 请求时,如何拦截+内省查询参数和 post 数据?

我的用例是我需要对数据有效载荷(dict)进行加密签名,但为此我需要石墨烯来完成将查询转换为 GET 或将突变转换为 POST在我可以从查询参数或 post body.

中获取数据之前

签署请求所需的输入数据是字典:

data = {
  "operationName": "blah",
  "variables": {},
  "query": "fancy graphql query here"
}

本次请求数据:

  • 调用时可用 client.execute
  • 在石墨烯中间件中不完全可用,因为我们无法访问解析信息中查询的字符串值(至少在测试客户端中)

因此,唯一可以访问这些输入的地方是在调用 client.execute 之前,或者通过制作自定义版本的客户端 class,实现执行方法,烘焙登录在那里,然后调用 super().execute...