2021-07-17 16:29:50 +00:00
|
|
|
package handlers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/99designs/gqlgen/graphql/handler"
|
2021-07-28 18:23:54 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/constants"
|
2021-07-23 16:27:44 +00:00
|
|
|
"github.com/authorizerdev/authorizer/server/graph"
|
|
|
|
"github.com/authorizerdev/authorizer/server/graph/generated"
|
2021-07-17 16:29:50 +00:00
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Defining the Graphql handler
|
|
|
|
func GraphqlHandler() gin.HandlerFunc {
|
|
|
|
// NewExecutableSchema and Config are in the generated.go file
|
|
|
|
// Resolver is in the resolver.go file
|
|
|
|
h := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))
|
|
|
|
|
|
|
|
return func(c *gin.Context) {
|
2021-07-28 18:23:54 +00:00
|
|
|
if constants.AUTHORIZER_DOMAIN == "" {
|
|
|
|
constants.AUTHORIZER_DOMAIN = "https://" + c.Request.Host
|
|
|
|
}
|
2021-07-17 16:29:50 +00:00
|
|
|
h.ServeHTTP(c.Writer, c.Request)
|
|
|
|
}
|
|
|
|
}
|