【发布时间】:2019-11-06 12:10:58
【问题描述】:
我需要使用石墨烯和 Django 更新 GraphQL 突变中的 cookie。
我的第一个想法是将cookie添加到上下文(即请求)中,然后将其设置在中间件中。
我有一个非常简单的突变,看起来像这样:
class SetWantedCookieMutation(graphene.Mutation):
class Arguments:
wanted_cookie = graphene.String(required=True)
ok = graphene.Boolean(required=True)
def mutate(self, info, wanted_cookie):
# set cookie here
info.context.wanted_cookie = wanted_cookie
return SetWantedCookieMutation(ok=True)
而 Django 中间件是这样的:
class CookieMiddleware(MiddlewareMixin):
def process_response(self, request, response):
if (hasattr(request, 'wanted_cookie')):
response.set_cookie('wanted_cookie', request.wanted_cookie)
return response
但我无法在我的CookieMiddleware 中获得wanted_cookie。
任何想法如何在突变/moddlewere 中设置 cookie? 或者通过石墨烯突变设置cookie的其他方法是什么?
【问题讨论】:
标签: python django graphql graphene-python graphene-django