rasti-web-broadcaster 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3fe41e1969219e3e270ba7a021ed8eafe93c42e2
4
- data.tar.gz: d034194a8a05faac304df842e73aa0dc510bc78f
3
+ metadata.gz: 37e3d3a5ed540645ccb1caa500aa4cebc9a73a8b
4
+ data.tar.gz: 4a4bde06cbb297ee73e8eaca452a6c9986b7f06a
5
5
  SHA512:
6
- metadata.gz: a6eb7be18bb1d8335db6ca9fc2def92574e8b55f87badc020cd0cea3f4934a06b3933981d790d10d39a18576be856bb1b891e960233140112d61d4832b8195df
7
- data.tar.gz: 57374aaf127a6386f47697d710f507bf2f948d1945ec8e59640db55053bfe26611236b702d20119284da7e596fdd2d5f78373e19eae7d5e5902a2dd46f238b3a
6
+ metadata.gz: 25ac0b9e1fd65ddd53e5b358e70ec98afd2a8e7595e70f8ed18255e5f81272c586155a7d11af3f5e811af22f1ccd0910e8c02704bba11f8bcea4fb2c0d087dcd
7
+ data.tar.gz: 1f918bb57a4e5ade46fa0dd6bc37ccec7bb64f79227387df1c24f0ad32139b86ffd9182946ae47a1bdcfac824ba7a5e8b9932d3fb427be49417acac27666f458
data/.travis.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  language: ruby
2
+
2
3
  rvm:
3
4
  - 1.9.3
4
5
  - 2.0
@@ -6,8 +7,19 @@ rvm:
6
7
  - 2.2
7
8
  - 2.3.0
8
9
  - 2.4.0
9
- - jruby
10
+ - jruby-1.7.25
11
+ - jruby-9.1.7.0
12
+ - ruby-head
13
+ - jruby-head
14
+
15
+ matrix:
16
+ fast_finish: true
17
+ allow_failures:
18
+ - rvm: ruby-head
19
+ - rvm: jruby-head
20
+
10
21
  before_install:
11
22
  - gem install bundler
23
+
12
24
  services:
13
25
  - redis-server
data/README.md CHANGED
@@ -38,6 +38,9 @@ end
38
38
  ### Rack middleware
39
39
  ```ruby
40
40
  use Rasti::Web::Broadcaster
41
+
42
+ headers = {'Access-Control-Allow-Origin' => '*'}
43
+ use Rasti::Web::Broadcaster, headers
41
44
  ```
42
45
 
43
46
  ### Publishing events from the web
@@ -1,7 +1,7 @@
1
1
  module Rasti
2
2
  module Web
3
3
  class Broadcaster
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.0'
5
5
  end
6
6
  end
7
7
  end
@@ -36,13 +36,14 @@ module Rasti
36
36
 
37
37
  end
38
38
 
39
- def initialize(app)
39
+ def initialize(app, headers={})
40
40
  @app = app
41
+ @headers = headers
41
42
  end
42
43
 
43
44
  def call(env)
44
45
  if Faye::EventSource.eventsource? env
45
- event_source = Faye::EventSource.new env
46
+ event_source = Faye::EventSource.new env, headers: @headers
46
47
  channel = env['PATH_INFO'][1..-1]
47
48
 
48
49
  subscription_id = self.class.subscribe channel do |message|
@@ -8,6 +8,7 @@ describe Rasti::Web::Broadcaster do
8
8
  event << 'Content-Type: text/event-stream'
9
9
  event << 'Cache-Control: no-cache, no-store'
10
10
  event << 'Connection: close'
11
+ event << 'Access-Control-Allow-Origin: *'
11
12
  event << ''
12
13
  event << 'retry: 5000'
13
14
  event << ''
@@ -33,7 +34,11 @@ describe Rasti::Web::Broadcaster do
33
34
  end
34
35
  end
35
36
 
36
- let(:app) { Rasti::Web::Broadcaster.new ->(env) { [200, {}, ['hello']] } }
37
+ let(:headers) { {'Access-Control-Allow-Origin' => '*'} }
38
+
39
+ let(:inner_app) { ->(env) { [200, {}, ['hello']] } }
40
+
41
+ let(:app) { Rasti::Web::Broadcaster.new inner_app, headers }
37
42
 
38
43
  it 'Handle events' do
39
44
  env = Rack::MockRequest.env_for '/channel_1', 'HTTP_ACCEPT' => 'text/event-stream',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rasti-web-broadcaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Naiman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-15 00:00:00.000000000 Z
11
+ date: 2018-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faye-websocket