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)