【发布时间】:2015-07-09 12:46:25
【问题描述】:
关于过滤器的问题:https://twitter.github.io/scala_school/finagle.html#Filter
对于典型的过滤器堆栈 + 服务布局,如何为每个过滤器添加默认行为?它基本上查看请求/响应并执行一些副作用操作(计数、日志记录等)。我不想为每个过滤器编写代码,而是希望在每个过滤器结束时触发此默认行为。
【问题讨论】:
标签: scala finagle twitter-finagle
关于过滤器的问题:https://twitter.github.io/scala_school/finagle.html#Filter
对于典型的过滤器堆栈 + 服务布局,如何为每个过滤器添加默认行为?它基本上查看请求/响应并执行一些副作用操作(计数、日志记录等)。我不想为每个过滤器编写代码,而是希望在每个过滤器结束时触发此默认行为。
【问题讨论】:
标签: scala finagle twitter-finagle
您想要的是过滤器组合,即您创建一个过滤器,它实际上只是一个传递并导致一些副作用,然后您可以通过组合将它与任何其他过滤器混合。例如:
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
【讨论】: