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 14
14
(defn- session-options
15
15
[options]
16
16
{:store (options :store (mem/memory-store ))
17
+ :set-cookies? (options :set-cookies? true )
17
18
:cookie-name (options :cookie-name " ring-session" )
18
19
:cookie-attrs (merge {:path " /"
19
20
:http-only true }
72
73
(if response
73
74
(-> response
74
75
(bare-session-response request options)
75
- cookies/cookies-response))))
76
+ ( cond-> ( :set- cookies? options true ) cookies /cookies-response) ))))
76
77
77
78
(defn wrap-session
78
79
" Reads in the current HTTP session map, and adds it to the :session key on
97
98
:cookie-attrs - A map of attributes to associate with the session cookie.
98
99
Defaults to {:http-only true}. This may be overridden on a
99
100
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."
101
105
([handler]
102
106
(wrap-session handler {}))
103
107
([handler options]
Original file line number Diff line number Diff line change 77
77
response (handler {:cookies {}})]
78
78
(is (get-session-cookie response))))
79
79
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
+
80
90
(deftest session-delete-outputs-cookie
81
91
(let [store (make-store (constantly {:foo " bar" })
82
92
(constantly nil )
You can’t perform that action at this time.
0 commit comments