File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed
test/ring/middleware/test Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change 1414(defn- session-options
1515 [options]
1616 {:store (options :store (mem/memory-store ))
17+ :set-cookies? (options :set-cookies? true )
1718 :cookie-name (options :cookie-name " ring-session" )
1819 :cookie-attrs (merge {:path " /"
1920 :http-only true }
7273 (if response
7374 (-> response
7475 (bare-session-response request options)
75- cookies/cookies-response))))
76+ ( cond-> ( :set- cookies? options true ) cookies /cookies-response) ))))
7677
7778(defn wrap-session
7879 " Reads in the current HTTP session map, and adds it to the :session key on
9798 :cookie-attrs - A map of attributes to associate with the session cookie.
9899 Defaults to {:http-only true}. This may be overridden on a
99100 per-response basis by adding :session-cookie-attrs to the
100- response."
101+ response.
102+
103+ :set-cookies? - If true, automatically include cookie middleware. Defaults to
104+ true for backward compatibility."
101105 ([handler]
102106 (wrap-session handler {}))
103107 ([handler options]
Original file line number Diff line number Diff line change 7777 response (handler {:cookies {}})]
7878 (is (get-session-cookie response))))
7979
80+ (deftest session-set-cookies
81+ (testing " :set-cookies? is false"
82+ (let [store (make-store (constantly {})
83+ (constantly " foo:bar" )
84+ (constantly nil ))
85+ handler (constantly {:session {:foo " bar" }})
86+ handler (wrap-session handler {:store store, :set-cookies? false })
87+ response (handler {:cookies {}})]
88+ (is (nil? (get-cookies response))))))
89+
8090(deftest session-delete-outputs-cookie
8191 (let [store (make-store (constantly {:foo " bar" })
8292 (constantly nil )
You can’t perform that action at this time.
0 commit comments