req всегда неопределен в контексте сервера Apollo - PullRequest
0 голосов
/ 21 февраля 2019

У меня проблема с контекстом сервера apollo.Я написал следующий код:

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();

Но переменная req всегда не определена.У кого-нибудь есть идея?

Я использую следующие версии apollo

"apollo-server": "^2.4.2",
"apollo-server-azure-functions": "^2.4.2",

Большое спасибо.

1 Ответ

0 голосов
/ 21 февраля 2019

У меня есть решение для моей проблемы.

context: ({req}) => ... должен быть контекстом: (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();
...