动态参数值计算取决于Paw中的参数

时间:2014-12-08 07:09:09

标签: paw-app

我有一些必须使用request params hash签名的API。 例如,我有2个参数 - 请求参数中的登录名和密码。所以我需要添加使用登录和密码字段哈希计算的param校验和。

我该如何实施?现在,当我尝试计算它时,我有自依赖性错误。

login = test
password = test
somefield = lalala
checksum = md5([login][password][somefield]) <- here is dynamic evaluation

1 个答案:

答案 0 :(得分:10)

显示自依赖性错误,因为它实际上尝试评估完整URL以获取其他参数之一。这可能需要在Paw中修复。

但是,你可以忽略警告,因为它仍然有效。这是一个例子:

Calculate a MD5 digest of URL parameters with Paw

在您的示例中,校验和为8bc22595f820ff1612fd16294c02359a,这是预期的结果。

更新:如果您想使用JavaScript代码执行此操作,请举例说明。

function evaluate(context) {
    var url = context.getCurrentRequest().url;
    var query = url.split('?')[1];
    var fragments = query.split('&');
    var login, password, somefield;
    for (var i in fragments) {
        var keyvalue = fragments[i].split('=');
        if (keyvalue[0] == "login") {
            login = keyvalue[1];
        } else if (keyvalue[0] == "password") {
            password = keyvalue[1];
        } else if (keyvalue[0] == "somefield") {
            somefield = keyvalue[1];
        }
    }
    // you can now compute whatever hash you want with these values
    // the self-dependency error will be shown but it should work
    return "" + login + "-" + password + "-" + somefield;
};

Use a JavaScript script to extract request parameters in Paw

要使用JS计算MD5哈希值,您需要包含第三方库。通过npm可以更容易(更干净地)完成。了解我们如何在其他扩展程序中管理依赖项:https://github.com/LuckyMarmot/Paw-PythonRequestsCodeGenerator