mirror of
https://github.com/openappsec/openappsec.git
synced 2025-09-29 19:24:26 +03:00
Feb 15th 2023 update
This commit is contained in:
31
external/graphqlparser/python/example.py
vendored
Executable file
31
external/graphqlparser/python/example.py
vendored
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2019-present, GraphQL Foundation
|
||||
#
|
||||
# This source code is licensed under the MIT license found in the
|
||||
# LICENSE file in the root directory of this source tree.
|
||||
|
||||
from ctypes import *
|
||||
from GraphQLParser import *
|
||||
|
||||
def print_field(field, unused):
|
||||
field_name = GraphQLAstField_get_name(field)
|
||||
field_name_value = GraphQLAstName_get_value(field_name)
|
||||
print 'field : ' + field_name_value
|
||||
return 0
|
||||
|
||||
def main():
|
||||
error = POINTER(c_char)()
|
||||
ast = graphql_parse_string('query myquery { myfield }', byref(error))
|
||||
field_visitor_callbacks = GraphQLAstVisitorCallbacks(visit_field = visit_field_func(print_field))
|
||||
graphql_node_visit(ast, pointer(field_visitor_callbacks), None)
|
||||
|
||||
graphql_node_free(ast)
|
||||
|
||||
ast = graphql_parse_string('query errorQuery on oops { myfield }', byref(error))
|
||||
print 'Example error:', string_at(error)
|
||||
graphql_error_free(error)
|
||||
if ast:
|
||||
print 'BUG: we should have got a null AST back, but we got:', ast
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Reference in New Issue
Block a user