Search code examples
javascriptgraphqlapollo-servergraphql-playground

Apollo server timeout message


I'm using apollo server and graphql and it's necessary to set a timeout so I use this with express:

   const server = app.listen({ port: 4000 }, () =>
       console.log( `The server is running in http://localhost:4000${server.graphqlPath}`));

   server.setTimeout(60000);

This works to set a timeout, but I receive the following message in my Apollo Server Playground:

{
  "error": "Failed to fetch. Please check your connection"
}

But I think is not ok to send only that text, so can I edit that message or add some properties to the error that I receive?, It take me a while to search in some places with no success.


Solution

  • This error message is not sent by server-side. It's a client-side error.

    Here is the source code of this error for graphql playground.

    export function formatError(error, fetchingSchema: boolean = false) {
      const message = extractMessage(error)
      if (message === 'Failed to fetch') {
        const schemaMessage = fetchingSchema ? ' schema' : ''
        return { error: `${message}${schemaMessage}. Please check your connection` }
      }
    
      try {
        const ee = JSON.parse(message)
        return ee
      } catch (e) {
        //
      }
    
      return { error: message }
    }