func Graphql(p Params, resultChannel chan *Result) { source := source.NewSource(&source.Source{ Body: p.RequestString, Name: "GraphQL request", }) AST, err := parser.Parse(parser.ParseParams{Source: source}) if err != nil { result := Result{ Errors: gqlerrors.FormatErrors(err), } resultChannel <- &result return } validationResult := ValidateDocument(p.Schema, AST) if !validationResult.IsValid { result := Result{ Errors: validationResult.Errors, } resultChannel <- &result return } else { ep := ExecuteParams{ Schema: p.Schema, Root: p.RootObject, AST: AST, OperationName: p.OperationName, Args: p.VariableValues, } Execute(ep, resultChannel) return } }
func parse(t *testing.T, query string) *ast.Document { astDoc, err := parser.Parse(parser.ParseParams{ Source: query, Options: parser.ParseOptions{ NoLocation: true, }, }) if err != nil { t.Fatalf("Parse failed: %v", err) } return astDoc }
func TestParse(t *testing.T, query string) *ast.Document { astDoc, err := parser.Parse(parser.ParseParams{ Source: query, Options: parser.ParseOptions{ // include source, for error reporting NoSource: false, }, }) if err != nil { t.Fatalf("Parse failed: %v", err) } return astDoc }