Version: v0.7.1 Latest Latest

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

Go to latest
Published: Nov 28, 2018 License: MIT Imports: 19 Imported by: 0




View Source
const DefaultCacheSize = 1000


This section is empty.


func GraphQL

func GraphQL(exec graphql.ExecutableSchema, options ...Option) http.HandlerFunc

func Playground

func Playground(title string, endpoint string) http.HandlerFunc


type Config

type Config struct {
	// contains filtered or unexported fields

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

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 added in v0.5.0

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 added in v0.7.0

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 added in v0.7.0

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 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