0

关于过滤器的问题:https ://twitter.github.io/scala_school/finagle.html#Filter

对于典型的过滤器堆栈 + 服务布局,如何为每个过滤器添加默认行为?它基本上查看请求/响应并执行一些副作用操作(计数、日志记录等)。我不想为每个过滤器编写代码,而是希望在每个过滤器结束时触发此默认行为。

4

1 回答 1

1

你想要的是过滤器组合,即你创建一个过滤器,它实际上只是一个传递并导致一些副作用,然后你可以通过组合将它与任何其他过滤器混合。例如:

val authFilter: Filter[HttpReq, HttpRep, AuthHttpReq, HttpRep]
val loggingFilter[Req, Rep]: Filter[Req, Rep, Req, Rep]

val authWithLogging: Filter[HttpReq, HttpRep, AuthHttpReq, HttpRep] =
  authFilter andThen loggingFilter
于 2015-04-30T05:36:16.547 回答