我正在使用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,以便我可以在整个过程中维护会话信息?