0

リクエストを処理してレスポンスを作成した後に Cookie を削除するにはどうすればよいですか?

次のコードを試しましたが、うまくいかないようです。

get("/login") { request =>
  val message = request.cookies.get("flash-message").map(_.value)
  request.removeCookie("flash-message")
  render.view(LoginView(message)).toFuture
}

ResponseBuilderCookieを削除する方法も見つかりませんでした。

4

1 に答える 1

0

それを行う方法は、通常の「JavaScript」の方法であることがわかりました。次のように、期限切れの Cookie を作成して送り返すだけです。

import com.twitter.finagle.http.Cookie
import com.twitter.util.Duration
import java.util.concurrent.TimeUnit

get("/login") { request =>
  val message = request.cookies.get("flash-message").map(_.value)
  val c = Cookie("flash-message", "")
  c.maxAge = Duration(-10, TimeUnit.DAYS)
  render.view(LoginView(message)).cookie(c).toFuture
}

もちろん、10 日間は、過去の任意の「期間」にすぎません。

于 2014-02-25T01:51:46.040 に答える