em-eventsource 0.2.4 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/em-eventsource.rb +9 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 95c24ede142738fe85b07756853451e5bbebf4fd8410bd936e87605a16146282
|
4
|
+
data.tar.gz: 33f594c9bc4eacf1c964740954bf3886598fc868c5a9530bad649e458af732fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b47b6ca2112aea7b2e1d6705337af0630c064212b176fcdf018dc9ad9058e74510136e700506348729ef791cf0c14285eb12f2ffe7cdfeabbcd0ca1c51e5e3c
|
7
|
+
data.tar.gz: f77ae58493e99174037db1adf956de52b590200530511d92563970e0cd9f0a11cf43210a4c7aac8cf1182b3814d62db0596b64be191282876605968316332cd1
|
data/lib/em-eventsource.rb
CHANGED
@@ -21,8 +21,6 @@ module EventMachine
|
|
21
21
|
attr_reader :inactivity_timeout
|
22
22
|
# Set the inactivity timeout
|
23
23
|
attr_writer :inactivity_timeout
|
24
|
-
# Set the max_redirects
|
25
|
-
attr_writer :max_redirects
|
26
24
|
# Ready state
|
27
25
|
# The connection has not yet been established, or it was closed and the user agent is reconnecting.
|
28
26
|
CONNECTING = 0
|
@@ -45,7 +43,6 @@ module EventMachine
|
|
45
43
|
@last_event_id = nil
|
46
44
|
@retry = 3 # seconds
|
47
45
|
@inactivity_timeout = 60 # seconds
|
48
|
-
@max_redirects = 5
|
49
46
|
|
50
47
|
@opens = []
|
51
48
|
@errors = []
|
@@ -130,6 +127,13 @@ module EventMachine
|
|
130
127
|
|
131
128
|
def handle_reconnect(*args)
|
132
129
|
return if @ready_state == CLOSED
|
130
|
+
|
131
|
+
if @req.response_header.redirection?
|
132
|
+
@url = @req.response_header.location
|
133
|
+
listen
|
134
|
+
return
|
135
|
+
end
|
136
|
+
|
133
137
|
@ready_state = CONNECTING
|
134
138
|
@errors.each { |error| error.call("Connection lost. Reconnecting.") }
|
135
139
|
EM.add_timer(@retry) do
|
@@ -139,6 +143,7 @@ module EventMachine
|
|
139
143
|
|
140
144
|
def handle_headers(headers)
|
141
145
|
if headers.redirection?
|
146
|
+
@req.close
|
142
147
|
return
|
143
148
|
end
|
144
149
|
if headers.status != 200
|
@@ -196,9 +201,8 @@ module EventMachine
|
|
196
201
|
headers = @headers.merge({'Cache-Control' => 'no-cache', 'Accept' => 'text/event-stream'})
|
197
202
|
headers.merge!({'Last-Event-Id' => @last_event_id }) if not @last_event_id.nil?
|
198
203
|
[conn, conn.get({ query: @query,
|
199
|
-
redirects: @max_redirects,
|
200
204
|
head: headers,
|
201
|
-
keepalive: true})]
|
205
|
+
keepalive: true })]
|
202
206
|
end
|
203
207
|
end
|
204
208
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: em-eventsource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- François de Metz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|