【发布时间】:2016-07-20 23:52:19
【问题描述】:
我是喷雾新手,我正在尝试编写自定义指令。如果标头值无效,我希望指令拒绝请求,否则不理会请求。
我试图吸收这个页面: http://spray.io/documentation/1.1.2/spray-routing/key-concepts/directives/
特别是关于响应者链的部分。我正在尝试在插图中的 bar 指令级别创建一些东西。我只是不知道如何将上下文不变地传递给内部路由。
我下面的 else 块不正确,但表达了我正在尝试做的事情。我只是不知道如何实现它。
任何帮助将不胜感激。
trait ApiKeyDirective {
import spray.routing.directives.HeaderDirectives._
import spray.routing.directives.BasicDirectives._
def validateApiKey(): Directive1 = {
headerValueByName("api-key") {key =>
val valid = key == "123"
if (!valid) reject() else pass
}
}
}
object ApiKeyDirective extends ApiKeyDirective
【问题讨论】: