File tree Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Expand file tree Collapse file tree 2 files changed +19
-1
lines changed Original file line number Diff line number Diff line change 3
3
(:require [ring.middleware.x-headers :as x]
4
4
[ring.middleware.flash :refer [wrap-flash]]
5
5
[ring.middleware.session :refer [wrap-session]]
6
+ [ring.middleware.session.cookie :refer [cookie-store]]
6
7
[ring.middleware.keyword-params :refer [wrap-keyword-params]]
7
8
[ring.middleware.nested-params :refer [wrap-nested-params]]
8
9
[ring.middleware.anti-forgery :refer [wrap-anti-forgery]]
18
19
[ring.middleware.ssl :refer [wrap-ssl-redirect wrap-hsts wrap-forwarded-scheme]]
19
20
[ring.middleware.proxy-headers :refer [wrap-forwarded-remote-addr]]))
20
21
22
+ (def default-session-store (cookie-store ))
23
+
21
24
(def api-defaults
22
25
" A default configuration for a HTTP API."
23
26
{:params {:urlencoded true
42
45
:keywordize true }
43
46
:cookies true
44
47
:session {:flash true
45
- :cookie-attrs {:http-only true }}
48
+ :cookie-attrs {:http-only true }
49
+ :store default-session-store }
46
50
:security {:anti-forgery true
47
51
:frame-options :sameorigin
48
52
:content-type-options :nosniff }
Original file line number Diff line number Diff line change 31
31
(is (.startsWith set-cookie " ring-session=" ))
32
32
(is (.contains set-cookie " HttpOnly" )))))
33
33
34
+ (testing " cookie round trip"
35
+ (let [handler (-> (fn [{:keys [session]}]
36
+ (-> (response (str (:x session 1 )))
37
+ (assoc :session (update session :x (fnil inc 1 )))))
38
+ (wrap-defaults site-defaults))
39
+ resp1 (handler (request :get " /" ))]
40
+ (is (= " 1" (:body resp1)))
41
+ (let [cookie (->> (get-in resp1 [:headers " Set-Cookie" ])
42
+ (first )
43
+ (re-find #"^ring-session=.*?;" ))
44
+ resp2 (handler (-> (request :get " /" )
45
+ (header " Cookie" cookie)))]
46
+ (is (= " 2" (:body resp2))))))
47
+
34
48
(testing " default charset"
35
49
(let [handler (-> (constantly (-> (response " foo" ) (content-type " text/plain" )))
36
50
(wrap-defaults site-defaults))
You can’t perform that action at this time.
0 commit comments