Я новичок в спрее, и я пытаюсь написать специальную директиву. Я хотел бы, чтобы директива отклонила запрос, если значение заголовка недействительно, иначе оставить запрос в одиночку.Пользовательская директива spray.io для проверки значения заголовка запроса
Я пытался поглотить эту страницу: http://spray.io/documentation/1.1.2/spray-routing/key-concepts/directives/
В частности, часть о респондеров цепи. Я пытаюсь создать что-то на уровне барной директивы на иллюстрации. Я просто не понимаю, как передать контекст без изменений на внутренний маршрут.
Неверный блок ниже, но выражает то, что я пытаюсь сделать. Я просто не могу понять, как его реализовать.
Любая помощь была бы принята с благодарностью.
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
Спасибо! Я намерен отклонить с помощью AuthorizationFailedRejection, но оставил его для краткости. –