Разные ответные куки в игровой среде на основе запроса - PullRequest
0 голосов
/ 08 апреля 2020

Мне нужно изменить атрибут SameSite в файлах cookie, сгенерированных приложением Play Framework, для учета несовместимости между различными клиентами . Похоже, что механизм play обеспечивает изменение кодировки cook ie (CookieBaker), но не предоставляет доступа к запросу, поэтому я не могу изменить атрибуты cook ie на основе пользовательского агента.

Я смог сделать это в игре v2.6.24, создав собственный сервер, который расширяет AkkaHttpServer:

class CustomAkkaHttpServer(context: AkkaHttpServer.Context) extends AkkaHttpServer(context) {
  override def runAction(...): Future[HttpResponse] =
    super.runAction.map { result =>
      // modify result cookies here
    }
}

, но это работало только потому, что def runAction был закрыт для play package , поэтому я поместил свой сервер в пакет play. В более новых версиях игры, однако, он определен просто как private def runAction, поэтому нет способа переопределить его независимо от пакета.

Если не скопировать весь код AkkaHttpServer в мое приложение, есть ли способ достичь этого?

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