handler

package
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2019 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
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 Config

type Config struct {
	// contains filtered or unexported fields
}

type InitPayload

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

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

func (payload InitPayload) Authorization() string

Authorization is a short hand for getting the Authorization header from the payload.

func (InitPayload) GetString

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

func CacheSize(size int) Option

CacheSize sets the maximum size of the query cache. If size is less than or equal to 0, the cache is disabled.

func ComplexityLimit

func ComplexityLimit(limit int) Option

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

func IntrospectionEnabled(enabled bool) Option

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

func Tracer(tracer graphql.Tracer) Option

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

func WebsocketKeepAliveDuration(duration time.Duration) Option

WebsocketKeepAliveDuration allows you to reconfigure the keepAlive behavior. By default, keep-alive is disabled.

func WebsocketUpgrader

func WebsocketUpgrader(upgrader websocket.Upgrader) Option

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL