В Finagle Finch Cookbook есть следующий пример:
val auth: Endpoint[User] = header("User").mapOutput(u =>
Поэтому я попытался создать его с mapOutputAsync и twitter.util.Futures.
mapOutputAsync
twitter.util.Futures
def checkToken: com.twitter.util.Future[TokenInfo] = ??? val authenticated: Endpoint[IO, TokenInfo] = header(Fields.Authorization).mapOutputAsync { checkToken(header).map(Ok) }
Это не работает с header, в отличие от get, для Future нет Mapper.
header
get
Future
В твиттере Future я нашел путь к scala Future (из поваренной книги 1017 * с IO.pure и IO.fromFuture). Но мне интересно, есть ли способ сделать это без этого шага. Я также пытался использовать io.catbirds.util, но не смог найти путь от Future до IO. Есть ли лучшее решение?
IO.pure
IO.fromFuture
io.catbirds.util
IO