问题描述
我想为测试请求添加标头。此外,我想将我想在解析器中访问的任何标头移动到上下文中。
PR #861 提供了一种在整个客户端或每个请求中添加 HTTP 标头的方法。这对我不起作用。我尝试向客户端添加标题,如下所示:
ElevatedButton(
style: ButtonStyle(
shape: MaterialStateProperty.all<RoundedRectangleBorder>(
RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),side: BorderSide(color: Colors.green)),),onpressed: () {},child: Text('test'),)
没有错误或任何东西,只是没有添加标题。我还尝试在请求中添加标头,作为 c = client.New(srv,client.AddHeader("Header","HeaderValue"))
的参数并得到相同的结果。
也许中间件可以提供帮助
c.MustPost
版本
- gqlgen 版本 - 最新
- go 版本 - 最新
正是这些要求:https://github.com/99designs/gqlgen/issues/1330
解决方法
我已经找到了解决方案。 我们可以使用选项为请求添加上下文...
srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &resolvers}))
c := client.New(srv,func(bd *client.Request){
bd.HTTP = bd.HTTP.WithContext(context.WithValue(bd.HTTP.Context(),"key","Value"))
})
有了这个,我们可以将标头作为解析器上下文。