def METHOD_NAME(self, query: str, variables: dict[str, Any]) -> Any:
    if not self.token:
        return
    headers = self._graphql_headers()
    body = json.dumps({'query': query, 'variables': variables})
    try:
        if self.http:
            request = self.http.request("POST", self.graphql_api_url, body=body, headers=headers)  # type:ignore[no-untyped-call]
            if request.status == 200:
                data = json.loads(request.data.decode("utf8"))
                if isinstance(data, dict) and 'errors' in data.keys():
                    logging.debug("received errors %s", data)
                    return None
                return data
            else:
                logging.debug("Query failed to run by returning code of {}. {}".format(request.data, query))
    except Exception:
        logging.debug(f"Query failed {query}", exc_info=True)