heroic-sns 1.1.1 → 1.1.2

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: 11d6f41c3874ec698df32ac516c3d103f74bfd7b
4
- data.tar.gz: 9dbf1f1690e3ec3888a52c661c4755c6d5c1a05e
3
+ metadata.gz: 0c597b29941ad835d01e069c7f378c49d300e81f
4
+ data.tar.gz: aae47c8fd95d89707211e1aecb6fd05d62202645
5
5
  SHA512:
6
- metadata.gz: b0e8fe315fd65c499060616c8780586c427b1ed3ff3a829df29437fe17128d764cdc502f1eed9f450c7e09c068b80e65bf9fddce08253ab2ba1d6b4dc3d1062f
7
- data.tar.gz: 20d5a1e66117f7c30e15d4107d93d6f84d8439dad5fd58919f46eb2e7bf0209067e47c048e3e7c040dbe365dfe8e18ddb4e33f16e6eb1898bb211b20b9028eac
6
+ metadata.gz: a33d5c08add0ce1406048511475972e6897b6570b47ca2a10503d1660424d1d347e69d4cbc56016e06f79a261a2d5524711b2cef9215cf45192d01cae4b2e582
7
+ data.tar.gz: dbc60c90e1f2e9c8c681bd29c0768b79c6dfdfd8a52f00e8052f453dd0048a98e3faad78344a414ab2a9c39803b5114a5f2c1478b2da829de7fcddcfec53fe5c
@@ -1,5 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "2.0.0"
3
+ - "2.2"
4
+ - "2.1"
5
+ - "2.0"
4
6
  - "1.9.3"
5
7
  - "1.8.7"
8
+ before_install:
9
+ - gem update bundler
@@ -1,3 +1,8 @@
1
+ ### 1.1.2 (March 23, 2016)
2
+
3
+ * Rewind the request body, in case the application wants to read it again.
4
+ [@cobbr2]
5
+
1
6
  ### 1.1.1 (August 9, 2013)
2
7
 
3
8
  * Ease up json gem dependency - [@speedmanly]
data/Gemfile CHANGED
@@ -2,4 +2,4 @@ source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- gem "rake"
5
+ gem "rake", '~> 10.3'
data/README.md CHANGED
@@ -1,11 +1,16 @@
1
1
  # Heroic::SNS, Rack middleware for Amazon SNS endpoints
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/heroic-sns.svg)](http://badge.fury.io/rb/heroic-sns)
4
+ [![Build Status](https://travis-ci.org/benzado/heroic-sns.png?branch=master)](https://travis-ci.org/benzado/heroic-sns)
5
+
3
6
  Heroic::SNS provides secure, lightweight Rack middleware for AWS Simple
4
7
  Notification Service (SNS) endpoints.
5
8
 
6
9
  Any SNS messages POSTed by Amazon to your web application are
7
10
  intercepted, parsed, verified, and then passed along via the
8
11
  `sns.message` environment key.
12
+ (In case you need it, the original, unparsed message is also available in the
13
+ body of the request.)
9
14
 
10
15
  If something goes wrong, the error will be passed along via the
11
16
  `sns.error` environment key. `Heroic::SNS::Endpoint` does not log any
@@ -164,5 +169,3 @@ This project [is licensed under the Apache license](LICENSE).
164
169
 
165
170
  Direct correspondence to Benjamin Ragheb via email at <ben@benzado.com>
166
171
  or on Twitter [@benzado](https://twitter.com/benzado).
167
-
168
- [![Build Status](https://travis-ci.org/benzado/heroic-sns.png?branch=master)](https://travis-ci.org/benzado/heroic-sns)
@@ -27,6 +27,7 @@ EOD
27
27
  s.platform = Gem::Platform::RUBY
28
28
  s.required_ruby_version = '>= 1.8.7'
29
29
  s.add_development_dependency 'rdoc', '~> 4.0'
30
+ s.add_development_dependency 'test-unit', '1.2.3'
30
31
  s.add_runtime_dependency 'rack', '~> 1.4'
31
32
  s.add_runtime_dependency 'json', '~> 1.7'
32
33
  end
@@ -110,6 +110,7 @@ module Heroic
110
110
  def call_on_topic(env)
111
111
  begin
112
112
  message = Message.new(env['rack.input'].read)
113
+ env['rack.input'].rewind
113
114
  check_headers!(message, env)
114
115
  message.verify!
115
116
  case message.type
@@ -1,5 +1,5 @@
1
1
  module Heroic
2
2
  module SNS
3
- VERSION = '1.1.1'
3
+ VERSION = '1.1.2'
4
4
  end
5
5
  end
@@ -44,4 +44,16 @@ class EndpointTest < Test::Unit::TestCase
44
44
  assert_nothing_raised { app.call(@env) }
45
45
  end
46
46
 
47
+ def test_rewind
48
+ result = [0, {}, []]
49
+
50
+ test = Proc.new do |env|
51
+ msg_json = JSON.parse(env['rack.input'].read)
52
+ assert_equal(msg_json['Message'],'booyakasha!')
53
+ result
54
+ end
55
+ sns('notification')
56
+ app = Heroic::SNS::Endpoint.new test, :topic => @msg.topic_arn
57
+ assert_equal result, app.call(@env)
58
+ end
47
59
  end
@@ -105,7 +105,7 @@ class LRUCacheTest < Test::Unit::TestCase
105
105
  # only slept for a second.
106
106
  threads.each { |t| t.join }
107
107
  time_elapsed = (Time.now - start_time)
108
- assert_in_delta time_elapsed, 1.0, 0.01
108
+ assert_in_delta time_elapsed, 1.0, 0.05
109
109
  end
110
110
 
111
111
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heroic-sns
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Ragheb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-09 00:00:00.000000000 Z
11
+ date: 2016-03-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rdoc
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: test-unit
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 1.2.3
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 1.2.3
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rack
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
123
  version: '0'
110
124
  requirements: []
111
125
  rubyforge_project:
112
- rubygems_version: 2.0.3
126
+ rubygems_version: 2.0.14.1
113
127
  signing_key:
114
128
  specification_version: 4
115
129
  summary: Lightweight Rack middleware for AWS SNS endpoints