我想将Diffy用于我的API测试,但发现它不允许在发送请求时自定义标头。我们的Apis需要访问在不同服务器中作为HTTP标头传递的令牌。
我开始探索Diffy代码,并尝试自己解决这个问题(对我而言)。
了解流/代码对我来说有点困难,因为我没有scala的经验。但是我对代码了解了一点,并尝试添加一行代码 [HttpDifferenceProxy.scala](https://github.com/twitter/diffy/blob/master/src/main/scala/com/twitter/diffy/proxy/HttpDifferenceProxy.scala)
Diffy工具在检查是否允许这样做之后异步执行Http请求。我在此检查之前添加了我的代码行以添加标题。
object SimpleHttpDifferenceProxy {
lazy val httpSideEffectsFilter =
Filter.mk[HttpRequest, HttpResponse, HttpRequest, HttpResponse] { (req, svc) =>
req.headers().add("Authorization1", "123") //My code here
val hasSideEffects =
Set(Method.Post, Method.Put, Method.Delete).contains(Request(req).method)
if (hasSideEffects)
DifferenceProxy.NoResponseExceptionFuture else svc(req)
} }
好的,我面临两个问题。
我在这里做错了什么?
谢谢, Sukalpo。
答案 0 :(得分:0)
我找到了我的两个问题的答案,它们是相同的:)
IntelliJ是有史以来最酷的IDE。
答案1: - 标题已添加。在我调试和浪费我的一整天时,我以某种方式使用的糟糕的ScalaIDE没有显示它
回答2: - 放下IntelliJ