$ cnpm install hapi-graphql
Create a GraphQL HTTP server with Hapi. Port from express-graphql.
npm install --save hapi-graphql
import Hapi from 'hapi';
import GraphQL from 'hapi-graphql';
import {GraphQLSchema} from 'graphql';
const server = new Hapi.Server();
server.connection({
port: 3000
});
const TestSchema = new GraphQLSchema({});
server.register({
register: GraphQL,
options: {
query: {
# options, see below
},
// OR
//
// query: (request) => ({
// # options, see below
// }),
route: {
path: '/graphql',
config: {}
}
}
}, () =>
server.start(() =>
console.log('Server running at:', server.info.uri)
)
);
The options key of query accepts the following:
schema: A GraphQLSchema instance from [graphql-js][].
A schema must be provided.
context: A value to pass as the context to the graphql()
function from [graphql-js][].
rootValue: A value to pass as the rootValue to the graphql()
function from [graphql-js][].
pretty: If true, any JSON response will be pretty-printed.
formatError: An optional function which will be used to format any
errors produced by fulfilling a GraphQL operation. If no function is
provided, GraphQL's default spec-compliant [formatError][] function will
be used.
validationRules: Optional additional validation rules queries must
satisfy in addition to those defined by the GraphQL spec.
graphiql: If true, may present [GraphiQL][] when loaded directly
from a browser (a useful tool for debugging and exploration).
During development, it's useful to get more information from errors, such as
stack traces. Providing a function to formatError enables this:
formatError: error => ({
message: error.message,
locations: error.locations,
stack: error.stack
})
Copyright 2013 - present © cnpmjs.org | Home |