与Axios发布的会话ID

时间:2019-12-09 19:24:18

标签: node.js session graphql axios

我正在尝试使用Amadeus enterprize XML预订航班的代码 我为直接预订写了一个变体,一个查询以获取搜索航班,但我不得不将它们放在一个会话中,但是放在新的Node js和Axios中 会话步骤:

  1. 我已经在graphql服务器中添加了它
context: ({ req }) => {
      return {
        sessionID: req.sessionID
      }
    }
  1. 我已经在中间件中编写了这段代码
  app.use(cookieParser());
  app.use(session({
    key:'graphql',
    secret: 'iyab45ou4oeo3p5adug35l2k', // just a long random string
    resave: false,
    saveUninitialized: true,
    cookie: { maxAge: 60000000,httpOnly:false }
  }));
  app.use(cors({
    origin:['http://localhost:4001'],
    methods:['GET','POST'],
    credentials: true // enable set cookie
}));
  1. 我编写了这段代码,让axios使用相同的graphql sessionId
  const body = convert.js2xml(data, { compact: true });
  axios.defaults.headers.post['set-cookie']  = req.sessionID;
  const result = await axios.post(process.env.AMADEUS_EPWS_SOAP_URL, body, {
    timeout: 10000,
    headers: {
      'Content-Type': 'text/xml',
      'Content-length': body.length,
    },
    withCredentials: true,

  });

但是,Axios仍然创建了自己的会话ID来解决它? 如何在一个session-id中执行两个Axios帖子?

0 个答案:

没有答案