在Spray客户端上添加基本身份验证

时间:2015-04-23 16:17:53

标签: scala akka spray

我正尝试通过以下方式设置与scala/spray代码中的Url的连接:

val Response = HttpDialog(Http.Connect("Url", port = 80, sslEncryption = true)).send(Get(String.format(endpoint, parameter1, parameter2))).end

Url需要进行身份验证,我需要在上面的Http request中添加一个包含base64编码的用户名:密码字符串的Authorization标头。

如何添加该授权标题?

谢谢, Arpit。

1 个答案:

答案 0 :(得分:4)

您可以使用RequestTransformer转换Get,特别是spray.httpx.RequestBuilding.addCredentials

val Response = HttpDialog(...).send(
  Get(String.format(endpoint, parameter1, parameter2)) ~> addCredentials(BasicHttpCredentials(username, password))
).end

如果您查看源代码,它所做的只是为addHeader转换器的那些凭据添加HttpAuthorization标头。