em-eventsource 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
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