hapi-graphql icon indicating copy to clipboard operation
hapi-graphql copied to clipboard

Execute rootValue functions if present

Open faceleg opened this issue 7 years ago • 0 comments

This is to allow the injection of things like User ID's into rootValue from the request, for cases where the /graphql endpoint require authentication.

Example:

server.register({
      register: GraphQL,
      options: {
        route: {
          path: '/graphql',
          config: {
            auth: 'token',
            tags: ['api']
          }
        },
        query: {
          schema: GraphQLSchema,
          graphiql: true,
          rootValue: {
            ip: function (args, request) {
              return request.info.remoteAddress;
            }
          },
          formatError: error => ({
            message: error.message,
            locations: error.locations,
            stack: error.stack
          })
        }
      }
    });
``

faceleg avatar Oct 17 '16 03:10 faceleg