def __init__(self, schema=None, executor=None, middleware=None, root_value=None, backend=None): if not schema: schema = graphene_settings.SCHEMA if backend is None: backend = get_default_backend() if middleware is None: middleware = graphene_settings.MIDDLEWARE self.graphql_schema = self.graphql_schema or schema if middleware is not None: if isinstance(middleware, MiddlewareManager): self.middleware = middleware else: self.middleware = list(instantiate_middleware(middleware)) self.executor = executor self.root_value = root_value self.backend = backend assert isinstance( self.graphql_schema, GraphQLSchema ), "A Schema is required to be provided to GraphQLAPIView."
def __init__(self, schema, middleware=None, root_value=None): super().__init__() if middleware is None: middleware = graphene_settings.MIDDLEWARE self.schema = self.schema or schema if middleware is not None: self.middleware = list(instantiate_middleware(middleware)) self.root_value = root_value
def __init__( self, schema=None, executor=None, middleware=None, root_value=None, backend=None ): super().__init__() if schema is None: schema = graphene_settings.SCHEMA if backend is None: backend = get_default_backend() if middleware is None: middleware = graphene_settings.MIDDLEWARE self.schema = self.schema or schema if middleware is not None: self.middleware = list(instantiate_middleware(middleware)) self.executor = executor self.root_value = root_value self.backend = backend
def execute( self, *args, auth_token_payload=None, service=_not_provided, context=None, **kwargs ): """ Custom execute method which adds all of the middlewares defined in the settings to the execution. Additionally adds a profile service to the context if no service is provided. e.g. GQL DataLoaders middleware is used to make the DataLoaders available through the context. """ if context is None: context = RequestFactory().post("/graphql") if not hasattr(context, "user") and hasattr(self, "user"): context.user = self.user if ( hasattr(context, "user") and context.user.is_authenticated and not hasattr(context, "user_auth") ): context.user_auth = UserAuthorization( context.user, auth_token_payload or {} ) if not hasattr(context, "service"): context.service = None if service is _not_provided: context.service = ServiceFactory(name="profile", is_profile_service=True) elif service: context.service = service return super().execute( *args, context=context, middleware=list(instantiate_middleware(graphene_settings.MIDDLEWARE)), **kwargs )