Better error handling for GraphQL

Downloads in past


25362.1.08 years ago8 years agoMinified + gzip package size for graphql-errors in KB


GraphQL Errors
When an error occurs when processing GraphQL queries, graphql-js sends the complete error message to the client with the response. In most cases, sending error messages to the client without supervision is not recommended. The graphql-errors module fixes this issue by masking error messages sent to the client. This module intercepts GraphQL error messages and replaces them with "internal error".
var express = require('express');
var graphql = require('graphql');
var graphqlHTTP = require('express-graphql');
var maskErrors = require('graphql-errors').maskErrors;

var schema = new graphql.GraphQLSchema({
  query: new graphql.GraphQLObjectType({
    name: 'RootQueryType',
    fields: {
      test: {
        type: graphql.GraphQLString,
        resolve() {
          throw new Error('secret error message');

// mask error messages

var app = express();
app.use('/', graphqlHTTP({schema: schema}));

To make error debugging easier, it logs the error on the server with the stack. The module can be activated on a schema using its processSchema function.