If you’re working with GraphQL (a query language for your API), and you’re using apollo-server-express, You may notice unlike express-graphql, request object will not be available in context, if it’s not defined in apollo-sever-express middleware, but don’t worry, if want request object available in context, just use following quick hack, not really and you’re done.

normal apollo-server-express middleware:

Loading...
app.use('/graphql', bodyParser.json(), graphqlExpress({ yourSchema }));

apollo-server-express middleware with request object as context:

consider, you want request user as context:

app.use('/graphql', bodyParser.json(), graphqlExpress(req => ({
  YourSchema,
  context: { user: req.user }
}));

Here, we are using es6 arrow functions and passing request object in that function.so that it will be available to pass in context of graphql query.

Now, you can pass context in your resolver functions to access request object inside resolver function.

READ  Use Global Node Modules in Normal Nodejs App/Script