rasti-web-broadcaster 1.0.0 → 1.1.0

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 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