oauth 0.4.7 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of oauth might be problematic. Click here for more details.

Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/README.rdoc +8 -8
  3. data/lib/oauth.rb +1 -3
  4. data/lib/oauth/cli.rb +3 -3
  5. data/lib/oauth/client/helper.rb +4 -0
  6. data/lib/oauth/client/net_http.rb +9 -7
  7. data/lib/oauth/consumer.rb +9 -5
  8. data/lib/oauth/helper.rb +3 -3
  9. data/lib/oauth/request_proxy/action_controller_request.rb +26 -2
  10. data/lib/oauth/request_proxy/base.rb +1 -1
  11. data/lib/oauth/request_proxy/net_http.rb +1 -1
  12. data/lib/oauth/request_proxy/rest_client_request.rb +62 -0
  13. data/lib/oauth/request_proxy/typhoeus_request.rb +4 -3
  14. data/lib/oauth/signature/base.rb +9 -23
  15. data/lib/oauth/signature/hmac/sha1.rb +12 -4
  16. data/lib/oauth/signature/plaintext.rb +6 -0
  17. data/lib/oauth/signature/rsa/sha1.rb +7 -3
  18. data/lib/oauth/tokens/access_token.rb +12 -0
  19. data/lib/oauth/tokens/request_token.rb +5 -0
  20. data/lib/oauth/tokens/token.rb +1 -1
  21. data/lib/oauth/version.rb +3 -0
  22. data/test/cases/oauth_case.rb +2 -2
  23. data/test/integration/consumer_test.rb +13 -13
  24. data/test/test_access_token.rb +2 -2
  25. data/test/test_action_controller_request_proxy.rb +29 -5
  26. data/test/test_consumer.rb +9 -3
  27. data/test/test_curb_request_proxy.rb +1 -1
  28. data/test/test_em_http_client.rb +1 -1
  29. data/test/test_em_http_request_proxy.rb +1 -1
  30. data/test/test_helper.rb +8 -3
  31. data/test/test_hmac_sha1.rb +1 -1
  32. data/test/test_net_http_client.rb +7 -1
  33. data/test/test_net_http_request_proxy.rb +1 -1
  34. data/test/test_oauth_helper.rb +5 -5
  35. data/test/test_rack_request_proxy.rb +1 -1
  36. data/test/test_request_token.rb +9 -4
  37. data/test/test_rest_client_request_proxy.rb +81 -0
  38. data/test/test_rsa_sha1.rb +1 -1
  39. data/test/test_server.rb +7 -6
  40. data/test/test_signature.rb +6 -13
  41. data/test/test_signature_base.rb +6 -6
  42. data/test/test_signature_hmac_sha1.rb +40 -0
  43. data/test/test_signature_plain_text.rb +1 -1
  44. data/test/test_token.rb +1 -1
  45. data/test/test_typhoeus_request_proxy.rb +24 -3
  46. metadata +126 -74
  47. data/.gemtest +0 -0
  48. data/Gemfile +0 -16
  49. data/Gemfile.lock +0 -47
  50. data/HISTORY +0 -173
  51. data/Rakefile +0 -37
  52. data/examples/yql.rb +0 -44
  53. data/lib/digest/hmac.rb +0 -104
  54. data/lib/oauth/signature/hmac/base.rb +0 -15
  55. data/lib/oauth/signature/hmac/md5.rb +0 -8
  56. data/lib/oauth/signature/hmac/rmd160.rb +0 -8
  57. data/lib/oauth/signature/hmac/sha2.rb +0 -8
  58. data/lib/oauth/signature/md5.rb +0 -13
  59. data/lib/oauth/signature/sha1.rb +0 -13
  60. data/oauth.gemspec +0 -148
  61. data/tasks/deployment.rake +0 -34
  62. data/tasks/environment.rake +0 -7
  63. data/tasks/website.rake +0 -17
  64. data/test/keys/rsa.cert +0 -11
  65. data/test/keys/rsa.pem +0 -16
@@ -3,7 +3,7 @@ require 'oauth/request_proxy/rack_request'
3
3
  require 'rack/request'
4
4
  require 'rack/mock'
5
5
 
6
- class RackRequestProxyTest < Test::Unit::TestCase
6
+ class RackRequestProxyTest < Minitest::Test
7
7
 
8
8
  def test_that_proxy_simple_get_request_works
9
9
  request = Rack::Request.new(Rack::MockRequest.env_for('http://example.com/test?key=value'))
@@ -6,7 +6,7 @@ class StubbedToken < OAuth::RequestToken
6
6
  end
7
7
  end
8
8
 
9
- class TestRequestToken < Test::Unit::TestCase
9
+ class TestRequestToken < Minitest::Test
10
10
  def setup
11
11
  # setup a fake req. token. mocking Consumer would be more appropriate...
12
12
  @request_token = OAuth::RequestToken.new(
@@ -18,7 +18,7 @@ class TestRequestToken < Test::Unit::TestCase
18
18
 
19
19
  def test_request_token_builds_authorize_url_connectly_with_additional_params
20
20
  auth_url = @request_token.authorize_url({:oauth_callback => "github.com"})
21
- assert_not_nil auth_url
21
+ assert auth_url
22
22
  assert_match(/oauth_token/, auth_url)
23
23
  assert_match(/oauth_callback/, auth_url)
24
24
  end
@@ -27,14 +27,19 @@ class TestRequestToken < Test::Unit::TestCase
27
27
  # we should only have 1 key in the url returned if we didn't pass anything.
28
28
  # this is the only required param to authenticate the client.
29
29
  auth_url = @request_token.authorize_url(nil)
30
- assert_not_nil auth_url
30
+ assert auth_url
31
31
  assert_match(/\?oauth_token=/, auth_url)
32
32
 
33
33
  auth_url = @request_token.authorize_url
34
- assert_not_nil auth_url
34
+ assert auth_url
35
35
  assert_match(/\?oauth_token=/, auth_url)
36
36
  end
37
37
 
38
+ def test_request_token_returns_nil_authorize_url_when_token_is_nil
39
+ @request_token.token = nil
40
+ assert_nil @request_token.authorize_url
41
+ end
42
+
38
43
  #TODO: mock out the Consumer to test the Consumer/AccessToken interaction.
39
44
  def test_get_access_token
40
45
  end
@@ -0,0 +1,81 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+
3
+ begin
4
+ require 'oauth/request_proxy/rest_client_request'
5
+ require 'rest-client'
6
+
7
+ class RestlClientRequestProxyTest < Test::Unit::TestCase
8
+
9
+ def test_that_proxy_simple_get_request_works
10
+ request = ::RestClient::Request.new(method: :get, url: "http://example.com/test?key=value")
11
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value'})
12
+
13
+ expected_parameters = {'key' => ['value']}
14
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
15
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
16
+ assert_equal 'GET', request_proxy.method
17
+ end
18
+
19
+ def test_that_proxy_simple_post_request_works_with_arguments
20
+ request = ::RestClient::Request.new(method: :post, url: "http://example.com/test")
21
+ params = {'key' => 'value'}
22
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
23
+
24
+ expected_parameters = {'key' => 'value'}
25
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
26
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
27
+ assert_equal 'POST', request_proxy.method
28
+ end
29
+
30
+ def test_that_proxy_simple_post_request_works_with_form_data
31
+ request = ::RestClient::Request.new(method: :post, url: "http://example.com/test",
32
+ payload: {'key' => 'value'},
33
+ headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
34
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
35
+
36
+ expected_parameters = {'key' => 'value'}
37
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
38
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
39
+ assert_equal 'POST', request_proxy.method
40
+ end
41
+
42
+ def test_that_proxy_simple_put_request_works_with_arguments
43
+ request = ::RestClient::Request.new(method: :put, url: "http://example.com/test")
44
+ params = {'key' => 'value'}
45
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
46
+
47
+ expected_parameters = {'key' => 'value'}
48
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
49
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
50
+ assert_equal 'PUT', request_proxy.method
51
+ end
52
+
53
+ def test_that_proxy_simple_put_request_works_with_form_data
54
+ request = ::RestClient::Request.new(method: :put, url: "http://example.com/test",
55
+ payload: {'key' => 'value'},
56
+ headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
57
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
58
+
59
+ expected_parameters = {'key' => 'value'}
60
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
61
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
62
+ assert_equal 'PUT', request_proxy.method
63
+ end
64
+
65
+ def test_that_proxy_post_request_works_with_mixed_parameter_sources
66
+ request = ::RestClient::Request.new(url: 'http://example.com/test?key=value',
67
+ method: :post,
68
+ payload: {'key2' => 'value2'},
69
+ headers: {'Content-Type' => 'application/x-www-form-urlencoded'})
70
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
71
+
72
+ expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
73
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
74
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
75
+ assert_equal 'POST', request_proxy.method
76
+ end
77
+
78
+ end
79
+ rescue LoadError => e
80
+ warn "! problem loading rest-client, skipping these tests: #{e}"
81
+ end
@@ -2,7 +2,7 @@ require File.expand_path('../test_helper', __FILE__)
2
2
  require 'oauth/consumer'
3
3
  require 'oauth/signature/rsa/sha1'
4
4
 
5
- class TestSignatureRsaSha1 < Test::Unit::TestCase
5
+ class TestSignatureRsaSha1 < Minitest::Test
6
6
 
7
7
  def setup
8
8
  @request = Net::HTTP::Get.new('/photos?file=vacaction.jpg&size=original&oauth_version=1.0&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_timestamp=1196666512&oauth_nonce=13917289812797014437&oauth_signature_method=RSA-SHA1')
@@ -1,6 +1,7 @@
1
1
  require File.expand_path('../test_helper', __FILE__)
2
2
  require 'oauth/server'
3
- class ServerTest < Test::Unit::TestCase
3
+
4
+ class ServerTest < Minitest::Test
4
5
  def setup
5
6
  @server=OAuth::Server.new "http://test.com"
6
7
  end
@@ -19,15 +20,15 @@ class ServerTest < Test::Unit::TestCase
19
20
 
20
21
  def test_generate_consumer_credentials
21
22
  consumer=@server.generate_consumer_credentials
22
- assert_not_nil consumer.key
23
- assert_not_nil consumer.secret
23
+ assert consumer.key
24
+ assert consumer.secret
24
25
  end
25
26
 
26
27
  def test_create_consumer
27
28
  @consumer=@server.create_consumer
28
- assert_not_nil @consumer
29
- assert_not_nil @consumer.key
30
- assert_not_nil @consumer.secret
29
+ assert @consumer
30
+ assert @consumer.key
31
+ assert @consumer.secret
31
32
  assert_equal "http://test.com",@consumer.site
32
33
  assert_equal "/oauth/request_token",@consumer.request_token_path
33
34
  assert_equal "/oauth/authorize",@consumer.authorize_path
@@ -2,21 +2,14 @@
2
2
 
3
3
  require File.expand_path('../test_helper', __FILE__)
4
4
 
5
- class TestOauth < Test::Unit::TestCase
5
+ class TestOauth < Minitest::Test
6
6
 
7
7
  def test_parameter_escaping_kcode_invariant
8
- ruby19 = RUBY_VERSION =~ /^1\.9/
9
- old = $KCODE if !ruby19
10
- begin
11
- %w(n N e E s S u U).each do |kcode|
12
- $KCODE = kcode if !ruby19
13
- assert_equal '%E3%81%82', OAuth::Helper.escape('あ'),
14
- "Failed to correctly escape Japanese under $KCODE = #{kcode}"
15
- assert_equal '%C3%A9', OAuth::Helper.escape('é'),
16
- "Failed to correctly escape e+acute under $KCODE = #{kcode}"
17
- end
18
- ensure
19
- $KCODE = old if !ruby19
8
+ %w(n N e E s S u U).each do |kcode|
9
+ assert_equal '%E3%81%82', OAuth::Helper.escape('あ'),
10
+ "Failed to correctly escape Japanese under $KCODE = #{kcode}"
11
+ assert_equal '%C3%A9', OAuth::Helper.escape('é'),
12
+ "Failed to correctly escape e+acute under $KCODE = #{kcode}"
20
13
  end
21
14
  end
22
15
  end
@@ -1,7 +1,8 @@
1
1
  require File.expand_path('../test_helper', __FILE__)
2
2
  require 'oauth/signature/base'
3
3
  require 'net/http'
4
- class SignatureBaseTest < Test::Unit::TestCase
4
+
5
+ class SignatureBaseTest < Minitest::Test
5
6
 
6
7
  def test_that_initialize_requires_one_request_argument
7
8
  assert_raises ArgumentError do
@@ -22,11 +23,10 @@ class SignatureBaseTest < Test::Unit::TestCase
22
23
  # this isn't quite valid, but it will do.
23
24
  raw_request = Net::HTTP::Get.new('/test')
24
25
  request = OAuth::RequestProxy.proxy(raw_request)
25
- assert_nothing_raised do
26
- OAuth::Signature::Base.new(request) { |token|
27
- # just a stub
28
- }
29
- end
26
+
27
+ OAuth::Signature::Base.new(request) { |token|
28
+ # just a stub
29
+ }
30
30
  end
31
31
 
32
32
  end
@@ -0,0 +1,40 @@
1
+ require File.expand_path('../test_helper', __FILE__)
2
+ require 'oauth/signature/hmac/sha1'
3
+
4
+ class SignatureHMACSHA1Test < Test::Unit::TestCase
5
+ def test_that_verify_returns_true_when_the_request_signature_is_right
6
+ request = OAuth::RequestProxy::MockRequest.new(
7
+ 'method' => 'POST',
8
+ 'uri' => 'https://photos.example.net/initialize',
9
+ 'parameters' => {
10
+ 'oauth_consumer_key' => 'dpf43f3p2l4k3l03',
11
+ 'oauth_signature_method' => 'HMAC-SHA1',
12
+ 'oauth_timestamp' => '137131200',
13
+ 'oauth_nonce' => 'wIjqoS',
14
+ 'oauth_callback' => 'http://printer.example.com/ready',
15
+ 'oauth_version' => '1.0',
16
+ 'oauth_signature' => 'xcHYBV3AbyoDz7L4dV10P3oLCjY='
17
+ }
18
+ )
19
+ assert OAuth::Signature::HMAC::SHA1.new(request, :consumer_secret => 'kd94hf93k423kf44').verify
20
+ end
21
+
22
+ def test_that_verify_returns_false_when_the_request_signature_is_wrong
23
+ # Test a bug in the OAuth::Signature::Base#== method: when the Base64.decode64 method is
24
+ # used on the "self" and "other" signature (as in version 0.4.7), the result may be incorrectly "true".
25
+ request = OAuth::RequestProxy::MockRequest.new(
26
+ 'method' => 'POST',
27
+ 'uri' => 'https://photos.example.net/initialize',
28
+ 'parameters' => {
29
+ 'oauth_consumer_key' => 'dpf43f3p2l4k3l03',
30
+ 'oauth_signature_method' => 'HMAC-SHA1',
31
+ 'oauth_timestamp' => '137131200',
32
+ 'oauth_nonce' => 'wIjqoS',
33
+ 'oauth_callback' => 'http://printer.example.com/ready',
34
+ 'oauth_version' => '1.0',
35
+ 'oauth_signature' => 'xcHYBV3AbyoDz7L4dV10P3oLCjZ='
36
+ }
37
+ )
38
+ assert !OAuth::Signature::HMAC::SHA1.new(request, :consumer_secret => 'kd94hf93k423kf44').verify
39
+ end
40
+ end
@@ -1,7 +1,7 @@
1
1
  require File.expand_path('../test_helper', __FILE__)
2
2
  require 'oauth/signature/plaintext'
3
3
 
4
- class TestSignaturePlaintext < Test::Unit::TestCase
4
+ class TestSignaturePlaintext < Minitest::Test
5
5
  def test_that_plaintext_implements_plaintext
6
6
  assert OAuth::Signature.available_methods.include?('plaintext')
7
7
  end
@@ -1,7 +1,7 @@
1
1
  require File.expand_path('../test_helper', __FILE__)
2
2
  require 'oauth/token'
3
3
 
4
- class TestToken < Test::Unit::TestCase
4
+ class TestToken < Minitest::Test
5
5
 
6
6
  def setup
7
7
  end
@@ -5,7 +5,7 @@ begin
5
5
  require 'oauth/request_proxy/typhoeus_request'
6
6
  require 'typhoeus'
7
7
 
8
- class TyphoeusRequestProxyTest < Test::Unit::TestCase
8
+ class TyphoeusRequestProxyTest < Minitest::Test
9
9
 
10
10
  def test_that_proxy_simple_get_request_works
11
11
  request = ::Typhoeus::Request.new('/test?key=value')
@@ -34,7 +34,7 @@ class TyphoeusRequestProxyTest < Test::Unit::TestCase
34
34
  :headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
35
35
  request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
36
36
 
37
- expected_parameters = {'key' => 'value'}
37
+ expected_parameters = {'key' => ['value']}
38
38
  assert_equal expected_parameters, request_proxy.parameters_for_signature
39
39
  assert_equal 'http://example.com/test', request_proxy.normalized_uri
40
40
  assert_equal 'POST', request_proxy.method
@@ -61,6 +61,27 @@ class TyphoeusRequestProxyTest < Test::Unit::TestCase
61
61
  assert_equal 'PUT', request_proxy.method
62
62
  end
63
63
 
64
+ def test_that_proxy_simple_put_request_works_with_arguments
65
+ request = Typhoeus::Request.new('/test', :method => :patch)
66
+ params = {'key' => 'value'}
67
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test', :parameters => params})
68
+
69
+ expected_parameters = {'key' => 'value'}
70
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
71
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
72
+ assert_equal 'PATCH', request_proxy.method
73
+ end
74
+
75
+ def test_that_proxy_simple_put_request_works_with_form_data
76
+ request = Typhoeus::Request.new('/test', :method => :patch, :params => {'key' => 'value'})
77
+ request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test'})
78
+
79
+ expected_parameters = {'key' => ['value']}
80
+ assert_equal expected_parameters, request_proxy.parameters_for_signature
81
+ assert_equal 'http://example.com/test', request_proxy.normalized_uri
82
+ assert_equal 'PATCH', request_proxy.method
83
+ end
84
+
64
85
  def test_that_proxy_post_request_works_with_mixed_parameter_sources
65
86
  request = Typhoeus::Request.new('/test?key=value',
66
87
  :method => :post,
@@ -68,7 +89,7 @@ class TyphoeusRequestProxyTest < Test::Unit::TestCase
68
89
  :headers => {'Content-Type' => 'application/x-www-form-urlencoded'})
69
90
  request_proxy = OAuth::RequestProxy.proxy(request, {:uri => 'http://example.com/test?key=value', :parameters => {'key3' => 'value3'}})
70
91
 
71
- expected_parameters = {'key' => ['value'], 'key2' => 'value2', 'key3' => 'value3'}
92
+ expected_parameters = {'key' => ['value'], 'key2' => ['value2'], 'key3' => 'value3'}
72
93
  assert_equal expected_parameters, request_proxy.parameters_for_signature
73
94
  assert_equal 'http://example.com/test', request_proxy.normalized_uri
74
95
  assert_equal 'POST', request_proxy.method
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
5
- prerelease:
4
+ version: 0.5.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Pelle Braendgaard
@@ -16,138 +15,178 @@ authors:
16
15
  autorequire:
17
16
  bindir: bin
18
17
  cert_chain: []
19
- date: 2012-09-04 00:00:00.000000000 Z
18
+ date: 2016-02-20 00:00:00.000000000 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: rake
23
22
  requirement: !ruby/object:Gem::Requirement
24
- none: false
25
23
  requirements:
26
- - - ! '>='
24
+ - - ">="
27
25
  - !ruby/object:Gem::Version
28
26
  version: '0'
29
27
  type: :development
30
28
  prerelease: false
31
29
  version_requirements: !ruby/object:Gem::Requirement
32
- none: false
33
30
  requirements:
34
- - - ! '>='
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ - !ruby/object:Gem::Dependency
35
+ name: minitest
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: byebug
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
35
60
  - !ruby/object:Gem::Version
36
61
  version: '0'
37
62
  - !ruby/object:Gem::Dependency
38
63
  name: jeweler
39
64
  requirement: !ruby/object:Gem::Requirement
40
- none: false
41
65
  requirements:
42
- - - ! '>='
66
+ - - ">="
43
67
  - !ruby/object:Gem::Version
44
68
  version: '0'
45
69
  type: :development
46
70
  prerelease: false
47
71
  version_requirements: !ruby/object:Gem::Requirement
48
- none: false
49
72
  requirements:
50
- - - ! '>='
73
+ - - ">="
51
74
  - !ruby/object:Gem::Version
52
75
  version: '0'
53
76
  - !ruby/object:Gem::Dependency
54
77
  name: actionpack
55
78
  requirement: !ruby/object:Gem::Requirement
56
- none: false
57
79
  requirements:
58
- - - ! '>='
80
+ - - ">="
59
81
  - !ruby/object:Gem::Version
60
- version: 2.3.5
82
+ version: 4.0.2
61
83
  type: :development
62
84
  prerelease: false
63
85
  version_requirements: !ruby/object:Gem::Requirement
64
- none: false
65
86
  requirements:
66
- - - ! '>='
87
+ - - ">="
67
88
  - !ruby/object:Gem::Version
68
- version: 2.3.5
89
+ version: 4.0.2
90
+ - !ruby/object:Gem::Dependency
91
+ name: iconv
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 1.0.3
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.3
69
104
  - !ruby/object:Gem::Dependency
70
105
  name: rack
71
106
  requirement: !ruby/object:Gem::Requirement
72
- none: false
73
107
  requirements:
74
- - - ! '>='
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.6.1
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.6.1
118
+ - !ruby/object:Gem::Dependency
119
+ name: rack-test
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
75
123
  - !ruby/object:Gem::Version
76
- version: 1.0.0
124
+ version: '0'
77
125
  type: :development
78
126
  prerelease: false
79
127
  version_requirements: !ruby/object:Gem::Requirement
80
- none: false
81
128
  requirements:
82
- - - ! '>='
129
+ - - ">="
83
130
  - !ruby/object:Gem::Version
84
- version: 1.0.0
131
+ version: '0'
85
132
  - !ruby/object:Gem::Dependency
86
133
  name: mocha
87
134
  requirement: !ruby/object:Gem::Requirement
88
- none: false
89
135
  requirements:
90
- - - ! '>='
136
+ - - ">="
91
137
  - !ruby/object:Gem::Version
92
- version: 0.9.8
138
+ version: 0.9.12
93
139
  type: :development
94
140
  prerelease: false
95
141
  version_requirements: !ruby/object:Gem::Requirement
96
- none: false
97
142
  requirements:
98
- - - ! '>='
143
+ - - ">="
99
144
  - !ruby/object:Gem::Version
100
- version: 0.9.8
145
+ version: 0.9.12
101
146
  - !ruby/object:Gem::Dependency
102
147
  name: typhoeus
103
148
  requirement: !ruby/object:Gem::Requirement
104
- none: false
105
149
  requirements:
106
- - - ! '>='
150
+ - - ">="
107
151
  - !ruby/object:Gem::Version
108
152
  version: 0.1.13
109
153
  type: :development
110
154
  prerelease: false
111
155
  version_requirements: !ruby/object:Gem::Requirement
112
- none: false
113
156
  requirements:
114
- - - ! '>='
157
+ - - ">="
115
158
  - !ruby/object:Gem::Version
116
159
  version: 0.1.13
117
160
  - !ruby/object:Gem::Dependency
118
161
  name: em-http-request
119
162
  requirement: !ruby/object:Gem::Requirement
120
- none: false
121
163
  requirements:
122
- - - ! '>='
164
+ - - '='
123
165
  - !ruby/object:Gem::Version
124
- version: 0.2.10
166
+ version: 0.2.11
125
167
  type: :development
126
168
  prerelease: false
127
169
  version_requirements: !ruby/object:Gem::Requirement
128
- none: false
129
170
  requirements:
130
- - - ! '>='
171
+ - - '='
131
172
  - !ruby/object:Gem::Version
132
- version: 0.2.10
173
+ version: 0.2.11
133
174
  - !ruby/object:Gem::Dependency
134
175
  name: curb
135
176
  requirement: !ruby/object:Gem::Requirement
136
- none: false
137
177
  requirements:
138
- - - ! '>='
178
+ - - '='
139
179
  - !ruby/object:Gem::Version
140
- version: 0.6.6.0
180
+ version: 0.7.16
141
181
  type: :development
142
182
  prerelease: false
143
183
  version_requirements: !ruby/object:Gem::Requirement
144
- none: false
145
184
  requirements:
146
- - - ! '>='
185
+ - - '='
147
186
  - !ruby/object:Gem::Version
148
- version: 0.6.6.0
149
- description: OAuth Core Ruby implementation
150
- email: oauth-ruby@googlegroups.com
187
+ version: 0.7.16
188
+ description:
189
+ email: oauth-ruby@googlegroupspec.com
151
190
  executables:
152
191
  - oauth
153
192
  extensions: []
@@ -156,17 +195,10 @@ extra_rdoc_files:
156
195
  - README.rdoc
157
196
  - TODO
158
197
  files:
159
- - .gemtest
160
- - Gemfile
161
- - Gemfile.lock
162
- - HISTORY
163
198
  - LICENSE
164
199
  - README.rdoc
165
- - Rakefile
166
200
  - TODO
167
201
  - bin/oauth
168
- - examples/yql.rb
169
- - lib/digest/hmac.rb
170
202
  - lib/oauth.rb
171
203
  - lib/oauth/cli.rb
172
204
  - lib/oauth/client.rb
@@ -192,37 +224,27 @@ files:
192
224
  - lib/oauth/request_proxy/mock_request.rb
193
225
  - lib/oauth/request_proxy/net_http.rb
194
226
  - lib/oauth/request_proxy/rack_request.rb
227
+ - lib/oauth/request_proxy/rest_client_request.rb
195
228
  - lib/oauth/request_proxy/typhoeus_request.rb
196
229
  - lib/oauth/server.rb
197
230
  - lib/oauth/signature.rb
198
231
  - lib/oauth/signature/base.rb
199
- - lib/oauth/signature/hmac/base.rb
200
- - lib/oauth/signature/hmac/md5.rb
201
- - lib/oauth/signature/hmac/rmd160.rb
202
232
  - lib/oauth/signature/hmac/sha1.rb
203
- - lib/oauth/signature/hmac/sha2.rb
204
- - lib/oauth/signature/md5.rb
205
233
  - lib/oauth/signature/plaintext.rb
206
234
  - lib/oauth/signature/rsa/sha1.rb
207
- - lib/oauth/signature/sha1.rb
208
235
  - lib/oauth/token.rb
209
236
  - lib/oauth/tokens/access_token.rb
210
237
  - lib/oauth/tokens/consumer_token.rb
211
238
  - lib/oauth/tokens/request_token.rb
212
239
  - lib/oauth/tokens/server_token.rb
213
240
  - lib/oauth/tokens/token.rb
214
- - oauth.gemspec
215
- - tasks/deployment.rake
216
- - tasks/environment.rake
217
- - tasks/website.rake
241
+ - lib/oauth/version.rb
218
242
  - test/cases/oauth_case.rb
219
243
  - test/cases/spec/1_0-final/test_construct_request_url.rb
220
244
  - test/cases/spec/1_0-final/test_normalize_request_parameters.rb
221
245
  - test/cases/spec/1_0-final/test_parameter_encodings.rb
222
246
  - test/cases/spec/1_0-final/test_signature_base_strings.rb
223
247
  - test/integration/consumer_test.rb
224
- - test/keys/rsa.cert
225
- - test/keys/rsa.pem
226
248
  - test/test_access_token.rb
227
249
  - test/test_action_controller_request_proxy.rb
228
250
  - test/test_consumer.rb
@@ -236,35 +258,65 @@ files:
236
258
  - test/test_oauth_helper.rb
237
259
  - test/test_rack_request_proxy.rb
238
260
  - test/test_request_token.rb
261
+ - test/test_rest_client_request_proxy.rb
239
262
  - test/test_rsa_sha1.rb
240
263
  - test/test_server.rb
241
264
  - test/test_signature.rb
242
265
  - test/test_signature_base.rb
266
+ - test/test_signature_hmac_sha1.rb
243
267
  - test/test_signature_plain_text.rb
244
268
  - test/test_token.rb
245
269
  - test/test_typhoeus_request_proxy.rb
246
270
  homepage:
247
271
  licenses: []
272
+ metadata: {}
248
273
  post_install_message:
249
274
  rdoc_options: []
250
275
  require_paths:
251
276
  - lib
252
277
  required_ruby_version: !ruby/object:Gem::Requirement
253
- none: false
254
278
  requirements:
255
- - - ! '>='
279
+ - - ">="
256
280
  - !ruby/object:Gem::Version
257
281
  version: '0'
258
282
  required_rubygems_version: !ruby/object:Gem::Requirement
259
- none: false
260
283
  requirements:
261
- - - ! '>='
284
+ - - ">="
262
285
  - !ruby/object:Gem::Version
263
286
  version: '0'
264
287
  requirements: []
265
- rubyforge_project: oauth
266
- rubygems_version: 1.8.23
288
+ rubyforge_project:
289
+ rubygems_version: 2.5.1
267
290
  signing_key:
268
- specification_version: 3
291
+ specification_version: 4
269
292
  summary: OAuth Core Ruby implementation
270
- test_files: []
293
+ test_files:
294
+ - test/test_rsa_sha1.rb
295
+ - test/test_helper.rb
296
+ - test/test_server.rb
297
+ - test/test_em_http_client.rb
298
+ - test/test_signature_hmac_sha1.rb
299
+ - test/test_signature.rb
300
+ - test/test_em_http_request_proxy.rb
301
+ - test/test_net_http_client.rb
302
+ - test/test_rest_client_request_proxy.rb
303
+ - test/cases/oauth_case.rb
304
+ - test/cases/spec/1_0-final/test_parameter_encodings.rb
305
+ - test/cases/spec/1_0-final/test_signature_base_strings.rb
306
+ - test/cases/spec/1_0-final/test_normalize_request_parameters.rb
307
+ - test/cases/spec/1_0-final/test_construct_request_url.rb
308
+ - test/test_hmac_sha1.rb
309
+ - test/test_consumer.rb
310
+ - test/test_rack_request_proxy.rb
311
+ - test/test_signature_base.rb
312
+ - test/test_typhoeus_request_proxy.rb
313
+ - test/integration/consumer_test.rb
314
+ - test/test_signature_plain_text.rb
315
+ - test/test_curb_request_proxy.rb
316
+ - test/test_token.rb
317
+ - test/test_action_controller_request_proxy.rb
318
+ - test/test_oauth_helper.rb
319
+ - test/test_access_token.rb
320
+ - test/test_request_token.rb
321
+ - test/test_net_http_request_proxy.rb
322
+ has_rdoc: