warden-hmac-authentication 0.6.2 → 0.6.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.
@@ -39,7 +39,7 @@ module Faraday
39
39
  headers, url = *signer.sign_request(url, @secret, @options)
40
40
 
41
41
  env[:request_headers] = (env[:request_headers] || {}).merge(headers)
42
- env[:url] = Addressable::URI.parse(url)
42
+ env[:url] = URI.parse(url)
43
43
  env
44
44
  end
45
45
 
data/lib/hmac/signer.rb CHANGED
@@ -1,4 +1,3 @@
1
- require 'addressable/uri'
2
1
  require 'openssl'
3
2
  require 'rack/utils'
4
3
  if defined?(JRUBY_VERSION) && RUBY_VERSION =~ /^1\.9/
@@ -121,8 +120,8 @@ module HMAC
121
120
  opts = default_opts.merge(opts)
122
121
  opts[:query_based] = true
123
122
 
124
- uri = Addressable::URI.parse(url)
125
- query_values = uri.query_values
123
+ uri = parse_url(url)
124
+ query_values = Rack::Utils.parse_nested_query(uri.query)
126
125
  return false unless query_values
127
126
 
128
127
  auth_params = query_values.delete(opts[:auth_param])
@@ -208,7 +207,7 @@ module HMAC
208
207
  def sign_request(url, secret, opts = {})
209
208
  opts = default_opts.merge(opts)
210
209
 
211
- uri = Addressable::URI.parse(url)
210
+ uri = parse_url(url)
212
211
  headers = opts[:headers] || {}
213
212
 
214
213
  date = opts[:date] || Time.now.gmtime
@@ -216,7 +215,7 @@ module HMAC
216
215
 
217
216
  method = opts[:method] ? opts[:method].to_s.upcase : "GET"
218
217
 
219
- query_values = uri.query_values
218
+ query_values = Rack::Utils.parse_nested_query(uri.query)
220
219
 
221
220
  if query_values
222
221
  query_values.delete_if do |k,v|
@@ -233,9 +232,9 @@ module HMAC
233
232
  })
234
233
  auth_params[:nonce] = opts[:nonce] unless opts[:nonce].nil?
235
234
 
236
- query_values = uri.query_values || {}
235
+ query_values ||= {}
237
236
  query_values[opts[:auth_param]] = auth_params
238
- uri.query_values = query_values
237
+ uri.query = Rack::Utils.build_nested_query(query_values)
239
238
  else
240
239
  headers[opts[:auth_header]] = opts[:auth_header_format] % opts.merge({:signature => signature})
241
240
  headers[opts[:nonce_header]] = opts[:nonce] unless opts[:nonce].nil?
@@ -281,5 +280,10 @@ module HMAC
281
280
  end
282
281
  end
283
282
 
283
+ #parse url if url parameter is string do nothing if parameter is URI
284
+ def parse_url(url)
285
+ return url if url.is_a?(URI)
286
+ URI.parse(url)
287
+ end
284
288
  end
285
289
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: warden-hmac-authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.6.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,24 +10,8 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-07-09 00:00:00.000000000 Z
13
+ date: 2012-10-08 00:00:00.000000000 Z
14
14
  dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: addressable
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
19
- requirements:
20
- - - ! '>='
21
- - !ruby/object:Gem::Version
22
- version: '0'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ! '>='
29
- - !ruby/object:Gem::Version
30
- version: '0'
31
15
  - !ruby/object:Gem::Dependency
32
16
  name: rack
33
17
  requirement: !ruby/object:Gem::Requirement