Session 在clojure/ring中,如何删除cookie?

Session 在clojure/ring中,如何删除cookie?,session,web-applications,cookies,clojure,ring,Session,Web Applications,Cookies,Clojure,Ring,假设我要删除一个cookie(例如,ring的会话cookie): 制作如下的响应图: {:cookies {"ring-session" {:value "kill", :max-age 1}}} 看起来不错,但感觉有点不舒服 有没有一种干净的方法可以直接删除它?这似乎是一种相当合理的方法。删除Cookie将替换为即将过期的Cookie。例如,:max age 1语法使它看起来比在中更优雅。我在使用wrap会话和ring.middleware中的其他处理程序。 将cookie设置为max a

假设我要删除一个cookie(例如,ring的会话cookie):

制作如下的响应图:

{:cookies {"ring-session" {:value "kill", :max-age 1}}}
看起来不错,但感觉有点不舒服


有没有一种干净的方法可以直接删除它?

这似乎是一种相当合理的方法。删除Cookie将替换为即将过期的Cookie。例如,
:max age 1
语法使它看起来比在中更优雅。

我在使用wrap会话和ring.middleware中的其他处理程序。 将cookie设置为max age在响应中不起作用,因为它只是被覆盖(诊断起来非常令人沮丧!)

这就是我需要做的:

(defn clear-session! [resp]
 (assoc resp :session nil))

ring
似乎不支持此功能,但您可以向用户代理发送一个新的cookie,该cookie具有Expires属性,并且具有过去的值


将cookie过期日期设置为历元的开始或将最大年龄设置为0是删除cookie的标准方法,即使在非环应用程序中也是如此。
(defn expire cookie[resp name](resp中的assoc[:cookies name]{:value”“:max age 0}))