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  }