You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to expire a session by setting the :expire keyword in the hash map :clack.session.options the <clack-session-state-cookie> middleware raises a type miss-match. This is because <clack-middleware-session> calls clack.session.state:expire with the options hash-table converted to a plist while <clack-session-state-cookie> expects the original hash-table:
;;; from core/middleware/session.lisp
(defmethodexpire ((this <clack-middleware-session>) id res env)
(state:expire
(state this)
id res
(hash-table-plist (getf env :clack.session.options))))
;;; from core/middleware/state/cookie.lisp
(defmethodexpire ((this <clack-session-state-cookie>)
id res &optional options)
(setf (gethash:expires options) 0) ;; here is the problem
(finalize this id res options))
The text was updated successfully, but these errors were encountered:
I would also be very happy to have an answer for this. For now, I hacked in my expire time to finalize-state in lack/src/middleware/session/state/cookie.lisp .
When trying to expire a session by setting the
:expire
keyword in the hash map:clack.session.options
the<clack-session-state-cookie>
middleware raises a type miss-match. This is because<clack-middleware-session>
callsclack.session.state:expire
with the options hash-table converted to a plist while<clack-session-state-cookie>
expects the original hash-table:The text was updated successfully, but these errors were encountered: