• (wrap-flash handler)
If a :flash key is set on the response by the handler, a :flash key with
the same value will be set on the next request that shares the same session.
This is useful for small messages that persist across redirects.

0 Examples top

Log in to add / edit an example.

See Also top

Log in to add a see also.

Plus_12x12 Minus_12x12 Source ring/middleware/flash.clj:4 top

(defn wrap-flash
  "If a :flash key is set on the response by the handler, a :flash key with
  the same value will be set on the next request that shares the same session.
  This is useful for small messages that persist across redirects."
  [handler]
  (fn [request]
    (let [session  (request :session)
          flash    (session :_flash)
          session  (dissoc session :_flash)
          request  (assoc request
                     :session session
                     :flash flash)
          response (handler request)
          session  (if-let [flash (response :flash)]
                     (assoc (response :session) :_flash flash)
                     session)]
      (assoc response :session session))))
Vars in ring.middleware.flash/wrap-flash: assoc defn fn let
Used in 0 other vars

Comments top

No comments for wrap-flash. Log in to add a comment.