rack-oauth2 0.9.2 → 0.9.3

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.
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ rvm:
2
+ - 1.8.7
3
+ - 1.9.2
4
+ - 1.9.3
5
+ - jruby
6
+ - ree
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rack-oauth2 (0.9.1)
4
+ rack-oauth2 (0.9.2)
5
5
  activesupport (>= 2.3)
6
6
  attr_required (>= 0.0.3)
7
7
  httpclient (>= 2.2.0.2)
@@ -12,7 +12,7 @@ PATH
12
12
  GEM
13
13
  remote: http://rubygems.org/
14
14
  specs:
15
- activesupport (3.0.9)
15
+ activesupport (3.0.10)
16
16
  addressable (2.2.6)
17
17
  attr_required (0.0.3)
18
18
  bouncy-castle-java (1.5.0146.1)
@@ -36,7 +36,7 @@ GEM
36
36
  rspec-expectations (2.6.0)
37
37
  diff-lcs (~> 1.1.2)
38
38
  rspec-mocks (2.6.0)
39
- webmock (1.6.4)
39
+ webmock (1.7.4)
40
40
  addressable (> 2.2.5, ~> 2.2)
41
41
  crack (>= 0.1.7)
42
42
 
data/README.rdoc CHANGED
@@ -18,27 +18,28 @@ http://www.ietf.org/id/draft-ietf-oauth-v2-http-mac-00.txt
18
18
 
19
19
  == Resources
20
20
 
21
- * View Source on GitHub (http://github.com/nov/rack-oauth2)
22
- * Report Issues on GitHub (http://github.com/nov/rack-oauth2/issues)
23
- * Subscribe Update Info (http://www.facebook.com/pages/RackOAuth2/141477809244105)
21
+ * View Source on GitHub (https://github.com/nov/rack-oauth2)
22
+ * Report Issues on GitHub (https://github.com/nov/rack-oauth2/issues)
23
+ * Subscribe Update Info (https://www.facebook.com/rackoauth2)
24
+ * Q&A on Google Groups (https://groups.google.com/group/rack-oauth2)
24
25
 
25
26
  == Sample Server Application (Rails3)
26
27
 
27
28
  === Bearer
28
29
 
29
30
  Running on Heroku
30
- http://rack-oauth2-sample.heroku.com
31
+ https://rack-oauth2-sample.heroku.com
31
32
 
32
33
  Source on GitHub
33
- http://github.com/nov/rack-oauth2-sample
34
+ https://github.com/nov/rack-oauth2-sample
34
35
 
35
36
  === MAC
36
37
 
37
38
  Running on Heroku
38
- http://rack-oauth2-sample-mac.heroku.com
39
+ https://rack-oauth2-sample-mac.heroku.com
39
40
 
40
41
  Source on GitHub
41
- http://github.com/nov/rack-oauth2-sample-mac
42
+ https://github.com/nov/rack-oauth2-sample-mac
42
43
 
43
44
  == Sample Client
44
45
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.2
1
+ 0.9.3
data/lib/rack/oauth2.rb CHANGED
@@ -1,18 +1,48 @@
1
+ require 'rack'
2
+ require 'json'
3
+ require 'httpclient'
4
+ require 'logger'
5
+ require 'active_support/core_ext'
6
+ require 'attr_required'
7
+ require 'attr_optional'
8
+
1
9
  module Rack
2
10
  module OAuth2
3
11
  VERSION = ::File.read(
4
12
  ::File.join(::File.dirname(__FILE__), '../../VERSION')
5
13
  )
14
+
15
+ def self.logger
16
+ @@logger
17
+ end
18
+ def self.logger=(logger)
19
+ @@logger = logger
20
+ end
21
+ self.logger = ::Logger.new(STDOUT)
22
+ self.logger.progname = 'Rack::OAuth2'
23
+
24
+ def self.debugging?
25
+ @@debugging
26
+ end
27
+ def self.debugging=(boolean)
28
+ @@debugging = boolean
29
+ end
30
+ def self.debug!
31
+ self.debugging = true
32
+ end
33
+ def self.debug(&block)
34
+ original = self.debugging?
35
+ self.debugging = true
36
+ yield
37
+ ensure
38
+ self.debugging = original
39
+ end
40
+ self.debugging = false
6
41
  end
7
42
  end
8
43
 
9
- require 'rack'
10
- require 'json'
11
- require 'httpclient'
12
- require 'active_support/core_ext'
13
- require 'attr_required'
14
- require 'attr_optional'
15
44
  require 'rack/oauth2/util'
16
45
  require 'rack/oauth2/server'
17
46
  require 'rack/oauth2/client'
18
- require 'rack/oauth2/access_token'
47
+ require 'rack/oauth2/access_token'
48
+ require 'rack/oauth2/debugger'
@@ -15,6 +15,7 @@ module Rack
15
15
  :agent_name => "#{self.class} (#{VERSION})"
16
16
  )
17
17
  @httpclient.request_filter << Authenticator.new(self)
18
+ @httpclient.request_filter << Debugger::RequestFilter.new if Rack::OAuth2.debugging?
18
19
  attr_missing!
19
20
  end
20
21
 
@@ -51,14 +51,20 @@ module Rack
51
51
  :client_secret => self.secret
52
52
  )
53
53
  handle_response do
54
- HTTPClient.new(
55
- :agent_name => "#{self.class} (#{VERSION})"
56
- ).post absolute_uri_for(token_endpoint), Util.compact_hash(params)
54
+ http_client.post absolute_uri_for(token_endpoint), Util.compact_hash(params)
57
55
  end
58
56
  end
59
57
 
60
58
  private
61
59
 
60
+ def http_client
61
+ _http_client_ = HTTPClient.new(
62
+ :agent_name => "#{self.class} (#{VERSION})"
63
+ )
64
+ _http_client_.request_filter << Debugger::RequestFilter.new if Rack::OAuth2.debugging?
65
+ _http_client_
66
+ end
67
+
62
68
  def absolute_uri_for(endpoint)
63
69
  _endpoint_ = Util.parse_uri endpoint
64
70
  _endpoint_.scheme ||= self.scheme || 'https'
@@ -0,0 +1 @@
1
+ require 'rack/oauth2/debugger/request_filter'
@@ -0,0 +1,22 @@
1
+ module Rack
2
+ module OAuth2
3
+ module Debugger
4
+ class RequestFilter
5
+ # Callback called in HTTPClient (before sending a request)
6
+ # request:: HTTP::Message
7
+ def filter_request(request)
8
+ started = "======= [Rack::OAuth2] HTTP REQUEST STARTED ======="
9
+ FbGraph.logger.info [started, request.dump].join("\n")
10
+ end
11
+
12
+ # Callback called in HTTPClient (after received a response)
13
+ # request:: HTTP::Message
14
+ # response:: HTTP::Message
15
+ def filter_response(request, response)
16
+ finished = "======= [Rack::OAuth2] HTTP REQUEST FINISHED ======="
17
+ FbGraph.logger.info ['-' * 50, response.dump, finished].join("\n")
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -13,10 +13,6 @@ module WebMockHelper
13
13
 
14
14
  def request_for(method, options = {})
15
15
  request = {}
16
- if options[:access_token]
17
- options[:params] ||= {}
18
- options[:params][:oauth_token] = options[:access_token].to_s
19
- end
20
16
  if options[:params]
21
17
  case method
22
18
  when :post, :put
metadata CHANGED
@@ -1,8 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-oauth2
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 61
4
5
  prerelease:
5
- version: 0.9.2
6
+ segments:
7
+ - 0
8
+ - 9
9
+ - 3
10
+ version: 0.9.3
6
11
  platform: ruby
7
12
  authors:
8
13
  - nov matake
@@ -10,7 +15,7 @@ autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-08-15 00:00:00 Z
18
+ date: 2011-09-10 00:00:00 Z
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rack
@@ -20,6 +25,10 @@ dependencies:
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ hash: 13
29
+ segments:
30
+ - 1
31
+ - 1
23
32
  version: "1.1"
24
33
  type: :runtime
25
34
  version_requirements: *id001
@@ -31,6 +40,11 @@ dependencies:
31
40
  requirements:
32
41
  - - ">="
33
42
  - !ruby/object:Gem::Version
43
+ hash: 1
44
+ segments:
45
+ - 1
46
+ - 4
47
+ - 3
34
48
  version: 1.4.3
35
49
  type: :runtime
36
50
  version_requirements: *id002
@@ -42,6 +56,12 @@ dependencies:
42
56
  requirements:
43
57
  - - ">="
44
58
  - !ruby/object:Gem::Version
59
+ hash: 123
60
+ segments:
61
+ - 2
62
+ - 2
63
+ - 0
64
+ - 2
45
65
  version: 2.2.0.2
46
66
  type: :runtime
47
67
  version_requirements: *id003
@@ -53,6 +73,10 @@ dependencies:
53
73
  requirements:
54
74
  - - ">="
55
75
  - !ruby/object:Gem::Version
76
+ hash: 5
77
+ segments:
78
+ - 2
79
+ - 3
56
80
  version: "2.3"
57
81
  type: :runtime
58
82
  version_requirements: *id004
@@ -64,6 +88,9 @@ dependencies:
64
88
  requirements:
65
89
  - - ">="
66
90
  - !ruby/object:Gem::Version
91
+ hash: 3
92
+ segments:
93
+ - 0
67
94
  version: "0"
68
95
  type: :runtime
69
96
  version_requirements: *id005
@@ -75,6 +102,11 @@ dependencies:
75
102
  requirements:
76
103
  - - ">="
77
104
  - !ruby/object:Gem::Version
105
+ hash: 25
106
+ segments:
107
+ - 0
108
+ - 0
109
+ - 3
78
110
  version: 0.0.3
79
111
  type: :runtime
80
112
  version_requirements: *id006
@@ -86,6 +118,10 @@ dependencies:
86
118
  requirements:
87
119
  - - ">="
88
120
  - !ruby/object:Gem::Version
121
+ hash: 27
122
+ segments:
123
+ - 0
124
+ - 8
89
125
  version: "0.8"
90
126
  type: :development
91
127
  version_requirements: *id007
@@ -97,6 +133,10 @@ dependencies:
97
133
  requirements:
98
134
  - - ">="
99
135
  - !ruby/object:Gem::Version
136
+ hash: 25
137
+ segments:
138
+ - 0
139
+ - 9
100
140
  version: "0.9"
101
141
  type: :development
102
142
  version_requirements: *id008
@@ -108,6 +148,9 @@ dependencies:
108
148
  requirements:
109
149
  - - ">="
110
150
  - !ruby/object:Gem::Version
151
+ hash: 7
152
+ segments:
153
+ - 2
111
154
  version: "2"
112
155
  type: :development
113
156
  version_requirements: *id009
@@ -119,6 +162,11 @@ dependencies:
119
162
  requirements:
120
163
  - - ">="
121
164
  - !ruby/object:Gem::Version
165
+ hash: 11
166
+ segments:
167
+ - 1
168
+ - 6
169
+ - 2
122
170
  version: 1.6.2
123
171
  type: :development
124
172
  version_requirements: *id010
@@ -135,6 +183,7 @@ files:
135
183
  - .document
136
184
  - .gitignore
137
185
  - .rspec
186
+ - .travis.yml
138
187
  - Gemfile
139
188
  - Gemfile.lock
140
189
  - LICENSE
@@ -157,6 +206,8 @@ files:
157
206
  - lib/rack/oauth2/client/grant/client_credentials.rb
158
207
  - lib/rack/oauth2/client/grant/password.rb
159
208
  - lib/rack/oauth2/client/grant/refresh_token.rb
209
+ - lib/rack/oauth2/debugger.rb
210
+ - lib/rack/oauth2/debugger/request_filter.rb
160
211
  - lib/rack/oauth2/server.rb
161
212
  - lib/rack/oauth2/server/abstract.rb
162
213
  - lib/rack/oauth2/server/abstract/error.rb
@@ -241,12 +292,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
241
292
  requirements:
242
293
  - - ">="
243
294
  - !ruby/object:Gem::Version
295
+ hash: 3
296
+ segments:
297
+ - 0
244
298
  version: "0"
245
299
  required_rubygems_version: !ruby/object:Gem::Requirement
246
300
  none: false
247
301
  requirements:
248
302
  - - ">="
249
303
  - !ruby/object:Gem::Version
304
+ hash: 23
305
+ segments:
306
+ - 1
307
+ - 3
308
+ - 6
250
309
  version: 1.3.6
251
310
  requirements: []
252
311