Мне нужно изменить атрибут 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
в мое приложение, есть ли способ достичь этого?