Skip to main content

Create a WSGI Application for a GraphQL schema.

Project description

Create a WSGI Application for a GraphQL schema.

Usage

Use the GraphQLApplication from wsgi_graphql.

from wsgi_graphql import GraphQLApplication
application = GraphQLApplication(schema)

Options

  • schema: GraphQLSchema to serve with this application.

  • execute_options: Dictionary of options to be passed to graphql.execute via graphql_server.run_http_query. If the dictionary values are callable they will be called (see example below).

  • format_error: Function to format errors (defaults to graphql_server.default_format_error).

  • encode: Function to encode dictionary (defaults to graphql_server.json_encode).

All execute_options can be callable (i.e. functions) and will receive the current environ as an argument. This can be used for tasks like parsing authentication tokens and inserting results as context_value.

This snippet from the example.py sets the context_value to a dictionary containing the value of the request header greet.

application = GraphQLApplication(schema, execute_options={
    'context_value': lambda environ: {
        'greet': environ.get('HTTP_GREET')
    }
})

This curl command will return {"data":{"hello":"world"}}.

curl --request POST\
 --url http://localhost:8080\
 --header 'Content-Type: application/graphql'\
 --header 'greet: world'\
 --data 'query {hello}'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wsgi_graphql-0.0.2.tar.gz (3.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page