Skip to content

Commit a36f3ca

Browse files
committed
section 4 video 4
1 parent a8c9160 commit a36f3ca

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/project1/core.clj

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
[ring.middleware.keyword-params]
77
[ring.middleware.multipart-params]
88
[ring.middleware.cookies]
9+
[ring.middleware.session]
10+
[ring.middleware.session.memory]
911
[project1.html :as html]
1012
[clojure.string]))
1113

@@ -73,10 +75,20 @@
7375
{:body (layout [:div [:p "Cookies:"]
7476
[:pre (:cookies request)]])})
7577

78+
(defn session-handler [request]
79+
{:body (layout [:div [:p "Session:"]
80+
[:pre (:session request)]])})
81+
82+
(defn logout-handler [request]
83+
{:body "Logged out."
84+
:session nil})
85+
7686
(defn form-handler [request]
7787
{:status 200
7888
:headers {"Content-type" "text/html"}
7989
:cookies {:username (:login (:params request))}
90+
:session {:username (:login (:params request))
91+
:cnt (inc (or (:cnt (:session request)) 0))}
8092
:body (layout
8193
[:div
8294
[:p "Params:"]
@@ -98,6 +110,8 @@
98110
"/test3" (handlers/handler3 request)
99111
"/form" (form-handler request)
100112
"/cookies" (cookie-handler request)
113+
"/session" (session-handler request)
114+
"/logout" (logout-handler request)
101115
nil))
102116

103117
(defn wrapping-handler [request]
@@ -118,5 +132,11 @@
118132
ring.middleware.keyword-params/wrap-keyword-params
119133
ring.middleware.params/wrap-params
120134
ring.middleware.multipart-params/wrap-multipart-params
135+
(ring.middleware.session/wrap-session
136+
{:cookie-name "ring-session"
137+
:root "/"
138+
:cookie-attrs {:max-age 600
139+
:secure false}
140+
:store (ring.middleware.session.memory/memory-store)})
121141
ring.middleware.cookies/wrap-cookies
122142
simple-log-middleware))

0 commit comments

Comments
 (0)