github.com/HaswinVidanage/gqlgen@v0.8.1-0.20220609041233-69528c1bf712/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/HaswinVidanage/gqlgen/example/starwars"
    10  	"github.com/HaswinVidanage/gqlgen/example/starwars/generated"
    11  	"github.com/HaswinVidanage/gqlgen/graphql"
    12  	"github.com/HaswinVidanage/gqlgen/handler"
    13  )
    14  
    15  func main() {
    16  	http.Handle("/", handler.Playground("Starwars", "/query"))
    17  	http.Handle("/query", handler.GraphQL(generated.NewExecutableSchema(starwars.NewResolver()),
    18  		handler.ResolverMiddleware(func(ctx context.Context, next graphql.Resolver) (res interface{}, err error) {
    19  			rc := graphql.GetResolverContext(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  
    27  	log.Fatal(http.ListenAndServe(":8080", nil))
    28  }