Этот фрагмент кода http-сервера akka работает:
path("test") {
if (shouldRedirect())
redirect(redirectUrl, StatusCodes.PermanentRedirect)
else
complete("hello")
}
однако мой shouldRedirect() возвращает Future[Boolean]. Мне нужно что-то подобное, но возврат Future здесь невозможен.
path("test") {
futureShouldRedirect().map { shouldRedirect =>
if (shouldRedirect)
redirect(redirectUrl, StatusCodes.PermanentRedirect)
else
complete("hello")
}
}
}
Как это решить? ps: я знаю, что полная функция принимает Future внутри, однако в этом случае это бесполезно, мне нужно либо вернуть завершение, либо перенаправление.