Я пытаюсь передать функцию разрешения в запросе пользовательскому декоратору. Хотя ** kwargs передаются функции декоратора, похоже, что информационный объект не передается. Когда я пытаюсь прочитать информацию в декораторе, я получаю значение None. Без декоратора я могу читать информационный объект непосредственно в функции разрешения.
Обратите внимание, что декоратор, показанный ниже, представляет собой тестовый код для чтения информационного объекта и не служит никакой другой цели. Я понимаю, что в структуре django / graphene есть определенные декораторы, но я хотел бы понять, как правильно передать информационный объект декоратору для пользовательского кода.
Спасибо!
Запрос
класс Query (объект):
all_users = graphene.List(UserNode)
all_roles = graphene.List(UserRoleNode)
@authenticate_role
def resolve_all_users(self,info,*args,**kwargs):
return User.objects.all()
Декоратор
def authenticate_role(func):
def wrap(info, *args, **kwargs):
print (info)
print(kwargs.get('id'))
auth_header = info.context.META.get('HTTP_AUTHORIZATION')
print (auth_header)
return wrap