Skip to content

Commit 3a73be3

Browse files
committedOct 17, 2023
Update Ring dependency to 1.11.0-beta1
1 parent b0b76bc commit 3a73be3

File tree

3 files changed

+38
-36
lines changed

3 files changed

+38
-36
lines changed
 

‎project.clj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
:url "http://opensource.org/licenses/MIT"}
66
:dependencies [[org.clojure/clojure "1.7.0"]
77
[org.clojure/core.async "1.6.681"]
8-
[ring/ring-core "1.11.0-alpha3"]])
8+
[ring/ring-core "1.11.0-beta1"]])

‎src/ring/websocket/async.clj

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
(ns ring.websocket.async
22
(:require [clojure.core.async :as a]
3-
[ring.websocket :as ws]))
3+
[ring.websocket :as ws]
4+
[ring.websocket.protocols :as wsp]))
45

56
(defrecord Closed [code reason])
67

@@ -21,7 +22,7 @@
2122
2223
Closing the out channel will close the socket and the two other channels."
2324
[in out err]
24-
(reify ws/Listener
25+
(reify wsp/Listener
2526
(on-open [_ sock]
2627
(letfn [(fail [ex]
2728
(a/put! err ex))

‎test/ring/websocket/async_test.clj

+34-33
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,69 @@
22
(:require [clojure.test :refer [deftest is testing]]
33
[clojure.core.async :as a]
44
[ring.websocket :as ws]
5-
[ring.websocket.async :as wsa]))
5+
[ring.websocket.async :as wsa]
6+
[ring.websocket.protocols :as wsp]))
67

78
(deftest test-websocket-listener
89
(testing "message sending and receiving"
910
(let [client (a/chan 10)
1011
socket (reify
11-
ws/Socket
12+
wsp/Socket
1213
(-close [_ code reason]
1314
(a/>!! client [:close code reason]))
14-
ws/AsyncSocket
15+
wsp/AsyncSocket
1516
(-send-async [_ mesg succeed _]
1617
(a/>!! client [:send mesg])
1718
(succeed)))
1819
in (a/chan 10)
1920
out (a/chan 10)
2021
err (a/chan 10)
2122
listener (wsa/websocket-listener in out err)]
22-
(ws/on-open listener socket)
23-
(ws/on-message listener socket "First")
23+
(wsp/on-open listener socket)
24+
(wsp/on-message listener socket "First")
2425
(is (= "First" (a/<!! in)))
2526
(a/>!! out "Second")
2627
(is (= [:send "Second"] (a/<!! client)))
27-
(ws/on-message listener socket "Third")
28+
(wsp/on-message listener socket "Third")
2829
(is (= "Third" (a/<!! in)))
2930
(a/>!! out "Fourth")
3031
(is (= [:send "Fourth"] (a/<!! client)))
31-
(ws/on-close listener socket 1000 "Normal Closure")
32+
(wsp/on-close listener socket 1000 "Normal Closure")
3233
(is (= [:close 1000 "Normal Closure"] (a/<!! client)))))
3334
(testing "errors"
3435
(let [socket (reify
35-
ws/Socket
36+
wsp/Socket
3637
(-close [_ _ _])
37-
ws/AsyncSocket
38+
wsp/AsyncSocket
3839
(-send-async [_ _ _ fail]
3940
(fail (ex-info "send" {}))))
4041
in (a/chan 10)
4142
out (a/chan 10)
4243
err (a/chan 10)
4344
listener (wsa/websocket-listener in out err)]
44-
(is (satisfies? ws/Listener listener))
45-
(ws/on-open listener socket)
45+
(is (satisfies? wsp/Listener listener))
46+
(wsp/on-open listener socket)
4647
(a/>!! out "foo")
4748
(let [ex (a/<!! err)]
4849
(is (some? ex))
4950
(is (instance? clojure.lang.ExceptionInfo ex))
5051
(is (= "send" (.getMessage ex))))
51-
(ws/on-error listener socket (ex-info "on-error" {}))
52+
(wsp/on-error listener socket (ex-info "on-error" {}))
5253
(let [ex (a/<!! err)]
5354
(is (some? ex))
5455
(is (instance? clojure.lang.ExceptionInfo ex))
5556
(is (= "on-error" (.getMessage ex))))))
5657
(testing "closing"
5758
(let [client (a/chan 10)
5859
socket (reify
59-
ws/Socket
60+
wsp/Socket
6061
(-close [_ code reason]
6162
(a/>!! client [:close code reason])))
6263
in (a/chan 10)
6364
out (a/chan 10)
6465
err (a/chan 10)
6566
listener (wsa/websocket-listener in out err)]
66-
(ws/on-open listener socket)
67+
(wsp/on-open listener socket)
6768
(a/>!! out (wsa/closed 1001 "Going Away"))
6869
(is (= [:close 1001 "Going Away"] (a/<!! client))))))
6970

@@ -72,10 +73,10 @@
7273
(let [client (a/chan 10)
7374
server (a/chan 10)
7475
socket (reify
75-
ws/Socket
76+
wsp/Socket
7677
(-close [_ code reason]
7778
(a/>!! client [:close code reason]))
78-
ws/AsyncSocket
79+
wsp/AsyncSocket
7980
(-send-async [_ mesg succeed _]
8081
(a/>!! client [:send mesg])
8182
(succeed)))
@@ -86,10 +87,10 @@
8687
(a/>! out "Fourth"))
8788
listener (::ws/listener response)]
8889
(is (map? response))
89-
(is (satisfies? ws/Listener listener))
90-
(ws/on-open listener socket)
91-
(ws/on-message listener socket "First")
92-
(ws/on-message listener socket "Third")
90+
(is (satisfies? wsp/Listener listener))
91+
(wsp/on-open listener socket)
92+
(wsp/on-message listener socket "First")
93+
(wsp/on-message listener socket "Third")
9394
(is (= [:receive "First"] (a/<!! server)))
9495
(is (= [:send "Second"] (a/<!! client)))
9596
(is (= [:receive "Third"] (a/<!! server)))
@@ -98,19 +99,19 @@
9899
(testing "errors"
99100
(let [server (a/chan 10)
100101
socket (reify
101-
ws/Socket
102+
wsp/Socket
102103
(-close [_ _ _])
103-
ws/AsyncSocket
104+
wsp/AsyncSocket
104105
(-send-async [_ _ _ fail]
105106
(fail (ex-info "send" {}))))
106107
response (wsa/go-websocket [_ out err]
107108
(a/>! server (a/<! err))
108109
(a/>! out "expected failure")
109110
(a/>! server (a/<! err)))
110111
listener (::ws/listener response)]
111-
(is (satisfies? ws/Listener listener))
112-
(ws/on-open listener socket)
113-
(ws/on-error listener socket (ex-info "on-error" {}))
112+
(is (satisfies? wsp/Listener listener))
113+
(wsp/on-open listener socket)
114+
(wsp/on-error listener socket (ex-info "on-error" {}))
114115
(let [ex (a/<!! server)]
115116
(is (some? ex))
116117
(is (instance? clojure.lang.ExceptionInfo ex))
@@ -122,22 +123,22 @@
122123
(testing "closing"
123124
(let [client (a/chan 10)
124125
socket (reify
125-
ws/Socket
126+
wsp/Socket
126127
(-close [_ code reason]
127128
(a/>!! client [:close code reason])))
128129
response (wsa/go-websocket [_ out _]
129130
(a/>!! out (wsa/closed 1001 "Going Away")))
130131
listener (::ws/listener response)]
131-
(ws/on-open listener socket)
132+
(wsp/on-open listener socket)
132133
(is (= [:close 1001 "Going Away"] (a/<!! client)))))
133134
(testing "omitting err argument"
134135
(let [client (a/chan 10)
135136
server (a/chan 10)
136137
socket (reify
137-
ws/Socket
138+
wsp/Socket
138139
(-close [_ code reason]
139140
(a/>!! client [:close code reason]))
140-
ws/AsyncSocket
141+
wsp/AsyncSocket
141142
(-send-async [_ mesg succeed _]
142143
(a/>!! client [:send mesg])
143144
(succeed)))
@@ -146,11 +147,11 @@
146147
(a/>! out "Second")
147148
(a/>! server [:receive (a/<! in)]))
148149
listener (::ws/listener response)]
149-
(ws/on-open listener socket)
150-
(ws/on-message listener socket "First")
150+
(wsp/on-open listener socket)
151+
(wsp/on-message listener socket "First")
151152
(is (= [:receive "First"] (a/<!! server)))
152153
(is (= [:send "Second"] (a/<!! client)))
153-
(ws/on-error listener socket (ex-info "Error" {}))
154+
(wsp/on-error listener socket (ex-info "Error" {}))
154155
(is (= [:close 1011 "Unexpected Error"] (a/<!! client)))
155-
(ws/on-close listener socket 1011 "Unexpected Error")
156+
(wsp/on-close listener socket 1011 "Unexpected Error")
156157
(is (= [:receive nil] (a/<!! server))))))

0 commit comments

Comments
 (0)
Failed to load comments.