File tree Expand file tree Collapse file tree 2 files changed +18
-6
lines changed
test/ring/middleware/test Expand file tree Collapse file tree 2 files changed +18
-6
lines changed Original file line number Diff line number Diff line change 106106 (for [[key value] attrs]
107107 (let [attr (name (set-cookie-attrs key))]
108108 (cond
109- (satisfies? CookieInterval value) (str " ;" attr " =" (->seconds value))
110- (satisfies? CookieDateTime value) (str " ;" attr " =" (rfc822-format value))
111- (true ? value) (str " ;" attr)
109+ (satisfies? CookieInterval value) (str " ; " attr " =" (->seconds value))
110+ (satisfies? CookieDateTime value) (str " ; " attr " =" (rfc822-format value))
111+ (true ? value) (str " ; " attr)
112112 (false ? value) " "
113- (= :same-site key) (str " ;" attr " =" (same-site-values value))
114- :else (str " ;" attr " =" value)))))
113+ (= :same-site key) (str " ; " attr " =" (same-site-values value))
114+ :else (str " ; " attr " =" value)))))
115115
116116(defn- write-cookies [cookies encoder]
117117 (for [[key value] cookies]
Original file line number Diff line number Diff line change 4747 (:headers resp)))))
4848
4949(defn- split-set-cookie [headers]
50- (letfn [(split-header [v] (set (mapcat #(str/split % #";" ) v)))]
50+ (letfn [(split-header [v] (set (mapcat #(str/split % #"; ? " ) v)))]
5151 (update-in headers [" Set-Cookie" ] split-header)))
5252
5353(deftest wrap-cookies-set-extra-attrs
169169 0 0 0 0
170170 (ZoneId/of " UTC" )))
171171
172+ (deftest wrap-cookies-spaces-after-semicolons-test
173+ (let [cookies {" a" {:value " b"
174+ :path " /" , :secure true , :same-site :lax
175+ :expires (zoned-date-time 2015 12 31 )
176+ :max-age (Duration/between (zoned-date-time 2012 )
177+ (zoned-date-time 2015 ))}}
178+ handler (constantly {:cookies cookies})
179+ resp ((wrap-cookies handler) {})
180+ header (first (get-in resp [:headers " Set-Cookie" ]))]
181+ (is (re-matches #"([^;]+; )+([^;]+)" header)
182+ " spaces after semicolons in Set-Cookie" )))
183+
172184(deftest wrap-cookies-accepts-max-age-from-java-time
173185 (let [cookies {" a" {:value " b" , :path " /" ,
174186 :secure true , :http-only true ,
You can’t perform that action at this time.
0 commit comments