Scala & Play - передача параметров в фильтр - PullRequest
0 голосов
/ 03 марта 2020

У меня есть фильтр, который должен отправлять токен в заголовке результата, который должен быть рассчитан в контроллере.

class TokenFilter @Inject()(implicit val mat: Materializer, 
ec: ExecutionContext, token: String) extends Filter{
def apply(nextFilter: RequestHeader => Future[Result])
       (requestHeader: RequestHeader): Future[Result] = {
nextFilter(requestHeader).map { result =>
  result.withHeaders("token" -> token)
}}}

Контроллер выглядит так:

def getAll(meta: MetaData): Action[AnyContent] = deadbolt.Restrict(group)(parse.default) { implicit request =>
myService.getAll(meta).map(result => {
  implicit val token: String = getToken
  val list: Seq[Resp] = result._2.map(exp => Mapper(exp))
  Ok(Json.toJson(ListResponse.apply(meta, result._1, list)))
})}

Похоже, что функция, которая получает токен, работает нормально, но фильтр не может получить доступ к токену. Любые идеи? Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...