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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/em-eventsource.rb +9 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89ba2ccd10bc74a1358dbc581503f338095e9a653ad51865d1a04dbbde1bcac1
4
- data.tar.gz: 7b67016f8017555f640117a8c01d4119a1797a2e23061cdd0298ddf30cada596
3
+ metadata.gz: 95c24ede142738fe85b07756853451e5bbebf4fd8410bd936e87605a16146282
4
+ data.tar.gz: 33f594c9bc4eacf1c964740954bf3886598fc868c5a9530bad649e458af732fd
5
5
  SHA512:
6
- metadata.gz: b2331561a1cf7f49640c02927d727cf60316155dcbf99fa911dad0b284175690ff8f7641349ff02d597df500830260a96058cd476708eea8821dfb8a826d6185
7
- data.tar.gz: f5473e5136b46be8d7abc45124ebcce0261ecc429d16c8139f01828dfb6a18e81d1c7dff9c4ba19d8af4125ff5ae5ca3796ec660e7f734510568dec522350b49
6
+ metadata.gz: 1b47b6ca2112aea7b2e1d6705337af0630c064212b176fcdf018dc9ad9058e74510136e700506348729ef791cf0c14285eb12f2ffe7cdfeabbcd0ca1c51e5e3c
7
+ data.tar.gz: f77ae58493e99174037db1adf956de52b590200530511d92563970e0cd9f0a11cf43210a4c7aac8cf1182b3814d62db0596b64be191282876605968316332cd1
@@ -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
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-02 00:00:00.000000000 Z
11
+ date: 2018-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine