有关过滤器的问题:https://twitter.github.io/scala_school/finagle.html#Filter
对于典型的过滤器堆栈+服务布局,如何为每个过滤器添加默认行为?这基本上是查看请求/响应并执行一些副作用操作(计数,记录等)。我不想为每个过滤器编写代码,而是希望在每个过滤器的末尾触发此默认行为。
答案 0 :(得分:1)
你想要的是过滤器组合,即你创建一个过滤器,它实际上只是一个传递并导致一些副作用,然后你可以通过组合将其与任何其他过滤器混合。 e.g:
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