Permalink
Please sign in to comment.
Browse files
Merge branch '0.3-beta'
Conflicts: project.clj ring-core/project.clj ring-devel/project.clj ring-httpcore-adapter/project.clj ring-jetty-adapter/project.clj ring-servlet/project.clj
- Loading branch information...
Showing
with
216 additions
and 188 deletions.
- +6 −6 project.clj
- +5 −4 ring-core/project.clj
- +9 −10 ring-core/src/ring/middleware/cookies.clj
- +4 −4 ring-core/src/ring/middleware/file.clj
- +4 −4 ring-core/src/ring/middleware/file_info.clj
- +9 −9 ring-core/src/ring/middleware/multipart_params.clj
- +7 −6 ring-core/src/ring/middleware/params.clj
- +4 −4 ring-core/src/ring/middleware/session.clj
- +15 −14 ring-core/src/ring/middleware/session/cookie.clj
- +14 −10 ring-core/src/ring/middleware/session/memory.clj
- +7 −0 ring-core/src/ring/middleware/session/store.clj
- +1 −1 ring-core/src/ring/middleware/static.clj
- +1 −1 ring-core/src/ring/util/codec.clj
- +5 −5 ring-core/src/ring/util/response.clj
- +1 −1 ring-core/src/ring/util/test.clj
- +2 −2 ring-core/test/ring/middleware/file_test.clj
- +10 −10 ring-core/test/ring/middleware/session/cookie_test.clj
- +10 −10 ring-core/test/ring/middleware/session/memory_test.clj
- +29 −16 ring-core/test/ring/middleware/session_test.clj
- +4 −4 ring-devel/project.clj
- +2 −2 ring-devel/src/ring/middleware/lint.clj
- +2 −2 ring-httpcore-adapter/project.clj
- +30 −30 ring-httpcore-adapter/src/ring/adapter/httpcore.clj
- +3 −3 ring-jetty-adapter/project.clj
- +13 −12 ring-jetty-adapter/src/ring/adapter/jetty.clj
- +4 −3 ring-servlet/project.clj
- +15 −15 ring-servlet/src/ring/util/servlet.clj
12
project.clj
9
ring-core/project.clj
| @@ -1,10 +1,11 @@ | ||
| -(defproject ring/ring-core "0.2.6" | ||
| +(defproject ring/ring-core "0.3.0-beta1" | ||
| :description "Ring core libraries." | ||
| :url "http://github.com/mmcgrana/ring" | ||
| - :dependencies [[org.clojure/clojure "1.1.0"] | ||
| - [org.clojure/clojure-contrib "1.1.0"] | ||
| + :dependencies [[org.clojure/clojure "1.2.0"] | ||
| + [org.clojure/clojure-contrib "1.2.0"] | ||
| [commons-codec "1.4"] | ||
| [commons-io "1.4"] | ||
| [commons-fileupload "1.2.1"] | ||
| [javax.servlet/servlet-api "2.5"]] | ||
| - :dev-dependencies [[lein-clojars "0.6.0"]]) | ||
| + :dev-dependencies [[lein-clojars "0.6.0"] | ||
| + [swank-clojure "1.2.1"]]) |
19
ring-core/src/ring/middleware/cookies.clj
8
ring-core/src/ring/middleware/file.clj
8
ring-core/src/ring/middleware/file_info.clj
18
ring-core/src/ring/middleware/multipart_params.clj
13
ring-core/src/ring/middleware/params.clj
8
ring-core/src/ring/middleware/session.clj
29
ring-core/src/ring/middleware/session/cookie.clj
24
ring-core/src/ring/middleware/session/memory.clj
| @@ -1,17 +1,21 @@ | ||
| (ns ring.middleware.session.memory | ||
| "In-memory session storage." | ||
| + (:use ring.middleware.session.store) | ||
| (:import java.util.UUID)) | ||
| +(deftype MemoryStore [session-map] | ||
| + SessionStore | ||
| + (read-session [_ key] | ||
| + (@session-map key {})) | ||
| + (write-session [_ key data] | ||
| + (let [key (or key (str (UUID/randomUUID)))] | ||
| + (swap! session-map assoc key data) | ||
| + key)) | ||
| + (delete-session [_ key] | ||
| + (swap! session-map dissoc key) | ||
| + nil)) | ||
| + | ||
| (defn memory-store | ||
| "Creates an in-memory session storage engine." | ||
| [] | ||
| - (let [session-map (atom {})] | ||
| - {:read (fn [session-key] | ||
| - (@session-map session-key {})) | ||
| - :write (fn [session-key session] | ||
| - (let [session-key (or session-key (str (UUID/randomUUID)))] | ||
| - (swap! session-map assoc session-key session) | ||
| - session-key)) | ||
| - :delete (fn [session-key] | ||
| - (swap! session-map dissoc session-key) | ||
| - nil)})) | ||
| + (MemoryStore. (atom {}))) |
7
ring-core/src/ring/middleware/session/store.clj
| @@ -0,0 +1,7 @@ | ||
| +(ns ring.middleware.session.store | ||
| + "Common session store objects and functions.") | ||
| + | ||
| +(defprotocol SessionStore | ||
| + (read-session [store key] "Read a session map from the store.") | ||
| + (write-session [store key data] "Write a session map to the store.") | ||
| + (delete-session [store key] "Delete a session map from the store.")) |
2
ring-core/src/ring/middleware/static.clj
2
ring-core/src/ring/util/codec.clj
10
ring-core/src/ring/util/response.clj
2
ring-core/src/ring/util/test.clj
4
ring-core/test/ring/middleware/file_test.clj
20
ring-core/test/ring/middleware/session/cookie_test.clj
| @@ -1,33 +1,33 @@ | ||
| (ns ring.middleware.session.cookie-test | ||
| (:use clojure.test | ||
| - ring.middleware.session.cookie)) | ||
| + [ring.middleware.session store cookie])) | ||
| (deftest cookie-session-read-not-exist | ||
| (let [store (cookie-store)] | ||
| - (is ((:read store) "non-existent") | ||
| + (is (read-session store "non-existent") | ||
| {}))) | ||
| (deftest cookie-session-create | ||
| (let [store (cookie-store) | ||
| - sess-key ((:write store) nil {:foo "bar"})] | ||
| + sess-key (write-session store nil {:foo "bar"})] | ||
| (is (not (nil? sess-key))) | ||
| - (is (= ((:read store) sess-key) | ||
| + (is (= (read-session store sess-key) | ||
| {:foo "bar"})))) | ||
| (deftest cookie-session-update | ||
| (let [store (cookie-store) | ||
| - sess-key ((:write store) nil {:foo "bar"}) | ||
| - sess-key* ((:write store) sess-key {:bar "baz"})] | ||
| + sess-key (write-session store nil {:foo "bar"}) | ||
| + sess-key* (write-session store sess-key {:bar "baz"})] | ||
| (is (not (nil? sess-key*))) | ||
| (is (not= sess-key sess-key*)) | ||
| - (is (= ((:read store) sess-key*) | ||
| + (is (= (read-session store sess-key*) | ||
| {:bar "baz"})))) | ||
| (deftest cookie-session-delete | ||
| (let [store (cookie-store) | ||
| - sess-key ((:write store) nil {:foo "bar"}) | ||
| - sess-key* ((:delete store) sess-key)] | ||
| + sess-key (write-session store nil {:foo "bar"}) | ||
| + sess-key* (delete-session store sess-key)] | ||
| (is (not (nil? sess-key*))) | ||
| (is (not= sess-key sess-key*)) | ||
| - (is (= ((:read store) sess-key*) | ||
| + (is (= (read-session store sess-key*) | ||
| {})))) |
20
ring-core/test/ring/middleware/session/memory_test.clj
| @@ -1,30 +1,30 @@ | ||
| (ns ring.middleware.session.memory-test | ||
| (:use clojure.test | ||
| - ring.middleware.session.memory)) | ||
| + [ring.middleware.session store memory])) | ||
| (deftest memory-session-read-not-exist | ||
| (let [store (memory-store)] | ||
| - (is ((:read store) "non-existent") | ||
| + (is (read-session store "non-existent") | ||
| {}))) | ||
| (deftest memory-session-create | ||
| (let [store (memory-store) | ||
| - sess-key ((:write store) nil {:foo "bar"})] | ||
| + sess-key (write-session store nil {:foo "bar"})] | ||
| (is (not (nil? sess-key))) | ||
| - (is (= ((:read store) sess-key) | ||
| + (is (= (read-session store sess-key) | ||
| {:foo "bar"})))) | ||
| (deftest memory-session-update | ||
| (let [store (memory-store) | ||
| - sess-key ((:write store) nil {:foo "bar"}) | ||
| - sess-key* ((:write store) sess-key {:bar "baz"})] | ||
| + sess-key (write-session store nil {:foo "bar"}) | ||
| + sess-key* (write-session store sess-key {:bar "baz"})] | ||
| (is (= sess-key sess-key*)) | ||
| - (is (= ((:read store) sess-key) | ||
| + (is (= (read-session store sess-key) | ||
| {:bar "baz"})))) | ||
| (deftest memory-session-delete | ||
| (let [store (memory-store) | ||
| - sess-key ((:write store) nil {:foo "bar"})] | ||
| - (is (nil? ((:delete store) sess-key))) | ||
| - (is (= ((:read store) sess-key) | ||
| + sess-key (write-session store nil {:foo "bar"})] | ||
| + (is (nil? (delete-session store sess-key))) | ||
| + (is (= (read-session store sess-key) | ||
| {})))) |
45
ring-core/test/ring/middleware/session_test.clj
8
ring-devel/project.clj
| @@ -1,7 +1,7 @@ | ||
| -(defproject ring/ring-devel "0.2.6" | ||
| +(defproject ring/ring-devel "0.3.0-beta1" | ||
| :description "Ring development and debugging libraries." | ||
| :url "http://github.com/mmcgrana/ring" | ||
| - :dependencies [[ring/ring-core "0.2.6"] | ||
| - [hiccup "0.2.6"] | ||
| - [clj-stacktrace "0.1.0"]] | ||
| + :dependencies [[ring/ring-core "0.3.0-beta1"] | ||
| + [hiccup "0.3.0"] | ||
| + [clj-stacktrace "0.2.0"]] | ||
| :dev-dependencies [[lein-clojars "0.6.0"]]) |
4
ring-devel/src/ring/middleware/lint.clj
4
ring-httpcore-adapter/project.clj
| @@ -1,7 +1,7 @@ | ||
| -(defproject ring/ring-httpcore-adapter "0.2.6" | ||
| +(defproject ring/ring-httpcore-adapter "0.3.0-beta1" | ||
| :description "Ring HttpCore adapter." | ||
| :url "http://github.com/mmcgrana/ring" | ||
| - :dependencies [[ring/ring-core "0.2.6"] | ||
| + :dependencies [[ring/ring-core "0.3.0-beta1"] | ||
| [org.apache.httpcomponents/httpcore "4.0.1"] | ||
| [org.apache.httpcomponents/httpcore-nio "4.0.1"]] | ||
| :dev-dependencies [[lein-clojars "0.6.0"]]) |
60
ring-httpcore-adapter/src/ring/adapter/httpcore.clj
6
ring-jetty-adapter/project.clj
| @@ -1,8 +1,8 @@ | ||
| -(defproject ring/ring-jetty-adapter "0.2.6" | ||
| +(defproject ring/ring-jetty-adapter "0.3.0-beta1" | ||
| :description "Ring Jetty adapter." | ||
| :url "http://github.com/mmcgrana/ring" | ||
| - :dependencies [[ring/ring-core "0.2.6"] | ||
| - [ring/ring-servlet "0.2.6"] | ||
| + :dependencies [[ring/ring-core "0.3.0-beta1"] | ||
| + [ring/ring-servlet "0.3.0-beta1"] | ||
| [org.mortbay.jetty/jetty "6.1.14"] | ||
| [org.mortbay.jetty/jetty-util "6.1.14"]] | ||
| :dev-dependencies [[lein-clojars "0.6.0"]]) |
25
ring-jetty-adapter/src/ring/adapter/jetty.clj
7
ring-servlet/project.clj
| @@ -1,6 +1,7 @@ | ||
| -(defproject ring/ring-servlet "0.2.6" | ||
| +(defproject ring/ring-servlet "0.3.0-beta1" | ||
| :description "Ring servlet utilities." | ||
| :url "http://github.com/mmcgrana/ring" | ||
| - :dependencies [[ring/ring-core "0.2.6"] | ||
| + :dependencies [[ring/ring-core "0.3.0-beta1"] | ||
| [javax.servlet/servlet-api "2.5"]] | ||
| - :dev-dependencies [[lein-clojars "0.6.0"]]) | ||
| + :dev-dependencies [[lein-clojars "0.6.0"] | ||
| + [swank-clojure "1.2.1"]]) |
30
ring-servlet/src/ring/util/servlet.clj
0 comments on commit
b84b44a