如何在处理请求和构建响应之后删除cookie?
我尝试过以下代码,但它似乎不起作用:
get("/login") { request =>
val message = request.cookies.get("flash-message").map(_.value)
request.removeCookie("flash-message")
render.view(LoginView(message)).toFuture
}我也找不到在ResponseBuilder上删除cookie的任何方法。
发布于 2014-02-25 01:51:46
事实证明,做这件事的方法是通常的"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天在过去只是一个随意的“持续时间”。
https://stackoverflow.com/questions/22000675
复制相似问题