Ответ 1
Это кажется вполне разумным способом обойти это. Многие веб-приложения удаляют файлы cookie, заменяя их тем, срок действия которых истекает. Синтаксис :max-age 1
делает этот вид намного более элегантным, чем в, например, Javascript.
Предположим, я хочу удалить файл cookie (например, ring session cookie):
Создание карты ответов следующим образом:
{:cookies {"ring-session" {:value "kill", :max-age 1}}}
похоже, работает, но он немного взломан.
Есть ли простой способ просто удалить его?
Это кажется вполне разумным способом обойти это. Многие веб-приложения удаляют файлы cookie, заменяя их тем, срок действия которых истекает. Синтаксис :max-age 1
делает этот вид намного более элегантным, чем в, например, Javascript.
Я использовал wrap-session и другие обработчики в ring.middleware. Установка cookie на максимальный возраст не срабатывала в ответ, поскольку он просто перезаписывался (очень расстраивает диагностику!)
Это то, что мне нужно было сделать:
(defn clear-session! [resp]
(assoc resp :session nil))
ring
похоже, не поддерживает это, но вы можете отправить агенту пользователя новый файл cookie с атрибутом Expires со значением в прошлом.