Я пытаюсь вложить существующие директивы akka http (версия 10) для создания моих собственных пользовательских директив. У меня возникли проблемы с вещами, как это:akka http custom вложенные директивы
def echoHeaderDirective: Directive0 = optionalHeaderValueByName("X-Echo-Header") {
case Some(value) => respondWithHeader(RawHeader("X-Echo-Header", value))
case _ => pass
}
типа возвращается из матча Directive0
, но я получаю эту ошибку от IDEA
Выражение типа Directive0 не соответствует ожидается тип маршрута
и эту ошибку компилятора
type mismatch;
[error] found : akka.http.scaladsl.server.Directive0
[error] (which expands to) akka.http.scaladsl.server.Directive[Unit]
[error] required: akka.http.scaladsl.server.RequestContext => scala.concurrent.Future[akka.http.scaladsl.server.RouteResult]
[error] case Some(value) => respondWithHeader(RawHeader("X-Echo-Header", value))
Можно ли создавать пользовательские директивы в этом стиле (вложенность), и если да, то что я делаю неправильно?
ах прекрасный спасибо. по какой-то причине я прочитал эту страницу раньше и как-то полностью пропустил flatMap – kag0