如何使用键指定Restlet客户HTTP标头"授权"

时间:2016-02-07 17:50:28

标签: restlet

我正在使用Restlet2.3来运行REST API测试自动化。

新功能有一个客户HTTP标头,用于将令牌传递给服务。

Form headers = (Form)resource.getRequestAttributes().get("org.restlet.http.headers");
if (headers == null) {
    headers = new Form();
    resource.getRequestAttributes().put("org.restlet.http.headers", headers);
}           

...

headers.add(key, value);

代码有效。现在,客户HTTP标头被定义为"授权"。上面的代码似乎没有正确传递标题。这不是挑战,参与其中。

我在SoapUI和Postman上测试了这个场景。两者都有效。

任何人都知道restlet支持这个吗?

1 个答案:

答案 0 :(得分:2)

事实上,在执行请求时,您无法使用Restlet覆盖Authorization等标准标头。

如果您想提供安全令牌,可以使用以下方法:

String pAccessToken = "some token";
ChallengeResponse challengeResponse = new ChallengeResponse(
                      new ChallengeScheme("", ""));
challengeResponse.setRawValue(pAccessToken);
clientResource.setChallengeResponse(challengeResponse);

这样,您只会在Authorization标题中包含令牌(开头有空格 - 所以不要忘记修剪该值)。