Reputation: 226
i have a problem with the apollo-server context. I wrote the following code:
const { ApolloServer } = require("apollo-server-azure-functions");
const { typeDefs, resolvers } = require('../graphql_schema/schema');
const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ req }) => {
console.log(req);
return {
req: req
}
},
introspection: false,
playground: true,
});
module.exports = server.createHandler();
But the req variable is always undefined. Does anybody have a idea?
I´m using following versions of apollo
"apollo-server": "^2.4.2",
"apollo-server-azure-functions": "^2.4.2",
Thank you very much.
Upvotes: 7
Views: 2821
Reputation: 226
I have a solution for my problem.
context: ( {req} ) =>...
Don't deconstruct req
, it should be:
context: (req) => ...
const { ApolloServer } = require("apollo-server-azure-functions");
const { typeDefs, resolvers } = require('../graphql_schema/schema');
const server = new ApolloServer({
typeDefs,
resolvers,
context: (req) => {
return {
accesstoken: GetAccessToken(req.request)
}
},
introspection: false,
playground: true,
});
const GetAccessToken = function (request){
const token = (request.headers.authorization || '').replace('BEARER ', '');
return token;
}
module.exports = server.createHandler();
Upvotes: 10
Reputation: 1
Need to define the req parameter on a top
const { ApolloServer } = require("apollo-server-azure-functions");
const { typeDefs, resolvers } = require('../graphql_schema/schema');
const server = new ApolloServer({
typeDefs,
resolvers,
req,
context: ({ req }) => {
console.log(req);
return {
req: req
}
},
introspection: false,
playground: true,
});
module.exports = server.createHandler();
Upvotes: -1