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  }