Documentation ¶
Overview ¶
Generates a GraphQL API handler for your convenience
Index ¶
Constants ¶
View Source
const MainContextKey = "mainContext"
MainContextKey is used to provide a structured context object to all GraphQL resolvers
Variables ¶
This section is empty.
Functions ¶
func GenerateGraphQLAPIHandler ¶
func GenerateGraphQLAPIHandler(schema *graphql.Schema, config *HandlerConfig) http.HandlerFunc
GenerateGraphQLAPIHandler generates a HTTP handler func that prepares and processes requests to the GraphQL API in an automated fashion
Types ¶
type GraphQLContextWrapper ¶ added in v0.8.2
type GraphQLContextWrapper struct { HandlerConfig *HandlerConfig Channel chan interface{} AdditionalData []interface{} IsGraphiQL bool }
func GraphiQLContextWrapper ¶ added in v0.9.16
func GraphiQLContextWrapper() *GraphQLContextWrapper
type GraphQLMutationResolverInterceptorFunc ¶ added in v0.8.2
type GraphQLMutationResolverInterceptorFunc func( p graphql.ResolveParams, ctx *GraphQLContextWrapper, args interface{}, model interface{}) error
type GraphQLQueryResolverInterceptorFunc ¶ added in v0.8.2
type GraphQLQueryResolverInterceptorFunc func( p graphql.ResolveParams, ctx *GraphQLContextWrapper, result interface{}) error
type HTTPHandlerFuncWithError ¶
type HTTPHandlerFuncWithError func(w http.ResponseWriter, r *http.Request, config *HandlerConfig, wrapper *GraphQLContextWrapper) error
HTTPHandlerFuncWithError is the type used for middlewares
type HandlerConfig ¶
type HandlerConfig struct { // Runs before any processing is done for requests OnRequest HTTPHandlerFuncWithError // Runs before processing the GraphQL query but after // doing some initial processing PreProcess HTTPHandlerFuncWithError // Runs right after the GraphQL query has been processed // and before the result is checked for errors PostProcess HTTPHandlerFuncWithError // Runs after checking for errors in the GraphQL query result // and before writing the result to the client. Only runs if // no errors were encountered. PreWriteResult HTTPHandlerFuncWithError // Runs after writing the result to the client. This is the last // of all handlers that is run. PostWriteResult HTTPHandlerFuncWithError // Runs before returning the response object from the GraphQL // query resolver so that you can intercept those objects OnQueryResult GraphQLQueryResolverInterceptorFunc // Runs before beginning a database transaction for mutations // in the GraphQL mutation resolver so that you can intercept // mutations before they are persisted BeforeMutate GraphQLMutationResolverInterceptorFunc // Specifying `true` will disallow using the URL query parameter // as a means of transporting the GraphQL query DisableURLQuery bool // Specifying `true` will disallow using the POST body // as a means of transporting the GraphQL query DisableBodyQuery bool // A context of your choice - this can contain anything. // This is different from the GraphQL context. Context interface{} // This context is passed down to all GraphQL resolvers inside // a predefined struct GraphQLContext interface{} // In case Plug-n-Play was used, this is a PluggedConfig. // Otherwise you can supply anything you want here. ExtraConfig interface{} }
HandlerConfig allows you to attach middlewares and configure the behavior as you like
Click to show internal directories.
Click to hide internal directories.