我有一个REST API和一个消耗它的JS SDK。 SDK主要用于浏览器,可以从任何来源使用API(API服务器具有相应的CORS设置)。
我有测试使用JS SDK来验证服务器端API中的某些流。测试在Node.js中运行。
问题在于Node.js并不关心CORS,这意味着我可以使用损坏的CORS配置部署一个版本的API服务器,并且测试不会表明服务在绝大多数情况下都已损坏用户(在浏览器中使用SDK)。
有没有办法在Node.js中强制执行CORS检查(即,指示Node做网络,好像它在浏览器中运行)?该解决方案最好只需要对现有SDK代码进行很少的更改。
如果无法做到这一点,我还应该考虑其他方法吗?到目前为止,我能想到的唯一选择是手动执行OPTIONS请求并对返回的CORS头执行断言。