Documentation ¶
Index ¶
- Constants
- func GraphQL(exec graphql.ExecutableSchema, options ...Option) http.HandlerFunc
- func Playground(title string, endpoint string) http.HandlerFunc
- type Config
- type InitPayload
- type Option
- func CacheSize(size int) Option
- func ComplexityLimit(limit int) Option
- func ErrorPresenter(f graphql.ErrorPresenterFunc) Option
- func IntrospectionEnabled(enabled bool) Option
- func RecoverFunc(recover graphql.RecoverFunc) Option
- func RequestMiddleware(middleware graphql.RequestMiddleware) Option
- func ResolverMiddleware(middleware graphql.FieldMiddleware) Option
- func Tracer(tracer graphql.Tracer) Option
- func WebsocketKeepAliveDuration(duration time.Duration) Option
- func WebsocketUpgrader(upgrader websocket.Upgrader) Option
Constants ¶
const DefaultCacheSize = 1000
Variables ¶
This section is empty.
Functions ¶
func GraphQL ¶
func GraphQL(exec graphql.ExecutableSchema, options ...Option) http.HandlerFunc
func Playground ¶
func Playground(title string, endpoint string) http.HandlerFunc
Types ¶
type InitPayload ¶ added in v0.6.0
type InitPayload map[string]interface{}
InitPayload is a structure that is parsed from the websocket init message payload. TO use request headers for non-websocket, instead wrap the graphql handler in a middleware.
func GetInitPayload ¶ added in v0.6.0
func GetInitPayload(ctx context.Context) InitPayload
GetInitPayload gets a map of the data sent with the connection_init message, which is used by graphql clients as a stand-in for HTTP headers.
func (InitPayload) Authorization ¶ added in v0.6.0
func (payload InitPayload) Authorization() string
Authorization is a short hand for getting the Authorization header from the payload.
func (InitPayload) GetString ¶ added in v0.6.0
func (payload InitPayload) GetString(key string) string
GetString safely gets a string value from the payload. It returns an empty string if the payload is nil or the value isn't set.
type Option ¶
type Option func(cfg *Config)
func CacheSize ¶ added in v0.5.0
CacheSize sets the maximum size of the query cache. If size is less than or equal to 0, the cache is disabled.
func ComplexityLimit ¶ added in v0.5.0
ComplexityLimit sets a maximum query complexity that is allowed to be executed. If a query is submitted that exceeds the limit, a 422 status code will be returned.
func ErrorPresenter ¶
func ErrorPresenter(f graphql.ErrorPresenterFunc) Option
ErrorPresenter transforms errors found while resolving into errors that will be returned to the user. It provides a good place to add any extra fields, like error.type, that might be desired by your frontend. Check the default implementation in graphql.DefaultErrorPresenter for an example.
func IntrospectionEnabled ¶ added in v0.7.0
IntrospectionEnabled = false will forbid clients from calling introspection endpoints. Can be useful in prod when you dont want clients introspecting the full schema.
func RecoverFunc ¶
func RecoverFunc(recover graphql.RecoverFunc) Option
func RequestMiddleware ¶
func RequestMiddleware(middleware graphql.RequestMiddleware) Option
RequestMiddleware allows you to define a function that will be called around the root request, after the query has been parsed. This is useful for logging
func ResolverMiddleware ¶
func ResolverMiddleware(middleware graphql.FieldMiddleware) Option
ResolverMiddleware allows you to define a function that will be called around every resolver, useful for logging.
func Tracer ¶ added in v0.7.0
Tracer allows you to add a request/resolver tracer that will be called around the root request, calling resolver. This is useful for tracing
func WebsocketKeepAliveDuration ¶ added in v0.7.2
WebsocketKeepAliveDuration allows you to reconfigure the keepAlive behavior. By default, keep-alive is disabled.