lib/oauthenticator/parse_authorization.rb in oauthenticator-1.0.0 vs lib/oauthenticator/parse_authorization.rb in oauthenticator-1.1.0
- old
+ new
@@ -2,11 +2,11 @@
# OAuthenticator::Error represents some problem with authenticating. it has an #errors attribute with error
# messages in the form we use.
class Error < StandardError
# @param message [String]
# @param errors [Hash<String, Array<String>>]
- def initialize(message, errors=nil)
+ def initialize(message=nil, errors=nil)
super(message)
@errors = errors
end
# @return [Hash<String, Array<String>>]
@@ -45,10 +45,10 @@
attributes[unescape(key)] << unescape(value)
end
unless scanner.eos?
auth_parse_error.call("Could not parse Authorization header: #{header}\naround or after character #{scanner.pos}: #{scanner.rest}")
end
- duplicates = attributes.select { |k,v| v.size > 1 }
+ duplicates = attributes.reject { |k,v| v.size <= 1 }
if duplicates.any?
errors = duplicates.map do |k,vs|
{k => "Received multiple instances of Authorization parameter #{k}. Received values were: #{vs.inspect}"}
end.inject({}, &:update)
raise DuplicatedParameters.new("Received duplicate parameters: #{duplicates.keys.inspect}", errors)