节点模块从http.request()中获取cookie

时间:2017-06-21 22:34:04

标签: node.js npm web-api-testing

我正在使用https.request()来调用和测试一堆REST API。我需要维护调用大量API的会话信息,因此来自一个API响应的cookie和其他标头将在后续API请求中提交。也就是说,我想从API响应中获取cookie并将其设置在另一个API请求中。

我尝试从npm使用Bluecat库,但它与Promises不兼容。 是否有任何库可用于对API请求进行排序并维护会话?

[更新]

以下是在调用REST API后将返回promise的方法。

 const https =  require('https');
 function invokeREST_API(options){

let apiPromise = new Promise(function(fulfill, reject){
 let req = https.request(options, (res) => {
   let responseData = '';
   res.on('data', (d) => {
     responseData += d;
   });
   res.on('end', () => {
     let response = JSON.parse(responseData);
     if(response.statusCode == 0 ) {
        fulfill(response);
     }else {
        reject(response);
     }
    });
  });
 });
 return apiPromise;
 } 

将为流中的每个API调用此方法,并且它们需要按顺序执行。例如,登录 - > getUserDetails - > saveUserDetails。 在这里,我需要调用登录API,如果解析了promise,继续调用getUserDetails API(使用先前API响应中的cookie)等等。

如何在API请求之间跟踪cookie,以便我可以在整个过程中维护会话信息?

0 个答案:

没有答案