github.com/maeglindeveloper/gqlgen@v0.13.1-0.20210413081235-57808b12a0a0/example/starwars/server/server.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "log" 7 "net/http" 8 9 "github.com/99designs/gqlgen/example/starwars" 10 "github.com/99designs/gqlgen/example/starwars/generated" 11 "github.com/99designs/gqlgen/graphql" 12 "github.com/99designs/gqlgen/graphql/handler" 13 "github.com/99designs/gqlgen/graphql/playground" 14 ) 15 16 func main() { 17 srv := handler.NewDefaultServer(generated.NewExecutableSchema(starwars.NewResolver())) 18 srv.AroundFields(func(ctx context.Context, next graphql.Resolver) (res interface{}, err error) { 19 rc := graphql.GetFieldContext(ctx) 20 fmt.Println("Entered", rc.Object, rc.Field.Name) 21 res, err = next(ctx) 22 fmt.Println("Left", rc.Object, rc.Field.Name, "=>", res, err) 23 return res, err 24 }) 25 26 http.Handle("/", playground.Handler("Starwars", "/query")) 27 http.Handle("/query", srv) 28 29 log.Fatal(http.ListenAndServe(":8080", nil)) 30 }