我正在为爪子建造custom dynamicValue extension。但是我无法在evaluate
方法中设置标头。请参阅以下示例代码:
evaluate(context) {
const request = context.getCurrentRequest();
request.setHeader('Content-Type', this.contentType); // <-- this gives warning
return this.createSignable(request); // This returns a base64 string.
}
我收到警告Javascript extension error: Cannot perform modifications
,标题未设置。 (当我评论request.setHeader
电话时,我没有收到任何警告)
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
这是正确的,您不能在动态值中使用setter(设置任何值)。实际上,Paw评估动态值的方式是异步的,并且由于多个评估可以同时进行,因此无法记录修改。出于这个原因,Paw只是拒绝改变,评估期间没有任何变化。
在documentation中,它指定这些方法(如setHeaders
)仅适用于导入程序扩展。很抱歉给您带来不便!
我认为要实现您尝试做的事情,您需要在Authorization
标头中设置两个动态值,并在Content-Type
标头中设置一个动态值。
或者,将来我们将添加请求后处理器,这样您就可以改变已准备好发送到服务器的计算请求以进行其他修改。