在多播之前向diffy代理添加标头

时间:2016-05-16 09:35:39

标签: scala twitter

我想将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)
} }

好的,我面临两个问题。

  1. 标题未添加
  2. 对Scala IDE的任何建议 - 我使用的是基于Eclipse构建的ScalaIDE,但调试与Java中的Eclipse调试功能无关。
  3. 我在这里做错了什么?

    谢谢, Sukalpo。

1 个答案:

答案 0 :(得分:0)

我找到了我的两个问题的答案,它们是相同的:)

IntelliJ是有史以来最酷的IDE。

答案1: - 标题已添加。在我调试和浪费我的一整天时,我以某种方式使用的糟糕的ScalaIDE没有显示它

回答2: - 放下IntelliJ