github.com/maeglindeveloper/gqlgen@v0.13.1-0.20210413081235-57808b12a0a0/example/todo/server/server.go (about) 1 package main 2 3 import ( 4 "context" 5 "errors" 6 "log" 7 "net/http" 8 "runtime/debug" 9 10 "github.com/99designs/gqlgen/example/todo" 11 "github.com/99designs/gqlgen/graphql/handler" 12 "github.com/99designs/gqlgen/graphql/playground" 13 ) 14 15 func main() { 16 srv := handler.NewDefaultServer(todo.NewExecutableSchema(todo.New())) 17 srv.SetRecoverFunc(func(ctx context.Context, err interface{}) (userMessage error) { 18 // send this panic somewhere 19 log.Print(err) 20 debug.PrintStack() 21 return errors.New("user message on panic") 22 }) 23 24 http.Handle("/", playground.Handler("Todo", "/query")) 25 http.Handle("/query", srv) 26 log.Fatal(http.ListenAndServe(":8081", nil)) 27 }