wp-hmac 0.0.1 → 0.1.1
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 +4 -4
- data/README.md +3 -3
- data/lib/wp/hmac/client.rb +5 -1
- data/lib/wp/hmac/version.rb +1 -1
- data/spec/hmac_spec.rb +1 -1
- data/wp-hmac.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 803b79ca1b59726cc4c853a13831d65f4e2a63e7
|
4
|
+
data.tar.gz: 0107c029b7d51c9a6272fef49557b5d360ff536f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b839d3bf6dd843dff393a606058b7b28b51b0b8f207f4ac7397fd1b452e5e9958421283aba15e70bcd7c41be7e79a0b6faec2e54c1f33a6d7a9fa0ce1c71b061
|
7
|
+
data.tar.gz: c8b94d52230bfea5d18aea7409532e24e5a43ef1eaa089ee712b7ba16e1a3ffa67e13edb027bd103c8122c260690e0403fff2d76d37d6f9297e41a715ab0c85e
|
data/README.md
CHANGED
@@ -63,12 +63,12 @@ use WP::HMAC::Server
|
|
63
63
|
|
64
64
|
Use like this ...
|
65
65
|
``` ruby
|
66
|
-
HMAC::Client.get('https://www.example.com/api/staff')
|
67
|
-
HMAC::Client.post('https://www.example.com/api/schedules, {'HEADER' => 'foo'}, StringIO.new('data'))
|
66
|
+
WP::HMAC::Client.get('https://www.example.com/api/staff')
|
67
|
+
WP::HMAC::Client.post('https://www.example.com/api/schedules, {'HEADER' => 'foo'}, StringIO.new('data'))
|
68
68
|
```
|
69
69
|
... or like this:
|
70
70
|
``` ruby
|
71
|
-
client = HMAC::Client.new('https://www.example.com')
|
71
|
+
client = WP::HMAC::Client.new('https://www.example.com')
|
72
72
|
client.get('api/staff')
|
73
73
|
client.post('api/schedules', {}, StringIO.new('data'))
|
74
74
|
```
|
data/lib/wp/hmac/client.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module WP
|
2
2
|
module HMAC
|
3
3
|
class Client
|
4
|
+
class UnsuccessfulResponse < StandardError; end
|
5
|
+
|
4
6
|
def initialize(url = nil, app = Rack::Client::Handler::NetHTTP)
|
5
7
|
build_rack_client(url, app)
|
6
8
|
end
|
@@ -11,7 +13,7 @@ module WP
|
|
11
13
|
|
12
14
|
@client = Rack::Client.new(url) do
|
13
15
|
use Rack::Config do |env|
|
14
|
-
env['HTTP_DATE'] = Time.
|
16
|
+
env['HTTP_DATE'] = Time.now.httpdate
|
15
17
|
end
|
16
18
|
use EY::ApiHMAC::ApiAuth::Client, id, auth_key
|
17
19
|
run app
|
@@ -32,6 +34,8 @@ module WP
|
|
32
34
|
define_method(method) do |*args|
|
33
35
|
client = Client.new
|
34
36
|
client.send(method, *args)
|
37
|
+
|
38
|
+
raise UnsuccessfulResponse unless /2\d\d/.match("#{client.status}")
|
35
39
|
end
|
36
40
|
end
|
37
41
|
end
|
data/lib/wp/hmac/version.rb
CHANGED
data/spec/hmac_spec.rb
CHANGED
@@ -69,7 +69,7 @@ RSpec.describe WP::HMAC, type: :request do
|
|
69
69
|
|
70
70
|
it 'fails when a request is signed with a duff hash' do
|
71
71
|
header 'Authorization', 'AuthHMAC esso:1234'
|
72
|
-
header 'Date', Time.
|
72
|
+
header 'Date', Time.now.httpdate
|
73
73
|
get 'http://esso.example.org/dummy/1'
|
74
74
|
expect(last_response.body).to include('Authentication failure: signature mismatch')
|
75
75
|
end
|
data/wp-hmac.gemspec
CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
25
|
spec.add_development_dependency "rails", "4.1.4"
|
26
26
|
spec.add_development_dependency "rspec", "~> 3.0"
|
27
|
+
spec.add_development_dependency "fuubar", "~> 2.0"
|
27
28
|
spec.add_development_dependency "pry"
|
28
29
|
spec.add_development_dependency "sqlite3"
|
29
30
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wp-hmac
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Nagi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ey_api_hmac
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '3.0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: fuubar
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: pry
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|