minor: URI.decode_www_form not available pre 1.9.x, alternative solution
This commit is contained in:
parent
89d2130306
commit
9d859d2b5c
|
@ -16,8 +16,6 @@
|
|||
# limitations under the License.
|
||||
# ++
|
||||
|
||||
require 'uri'
|
||||
|
||||
module Mongo
|
||||
class URIParser
|
||||
|
||||
|
@ -262,7 +260,8 @@ module Mongo
|
|||
|
||||
return if string_opts.empty? && extra_opts.empty?
|
||||
|
||||
opts = URI.decode_www_form(string_opts).inject({}) do |memo, (key, value)|
|
||||
opts = string_opts.split(/&|;/).inject({}) do |memo, kv|
|
||||
key, value = kv.split('=')
|
||||
memo[key.downcase.to_sym] = value.strip.downcase
|
||||
memo
|
||||
end
|
||||
|
|
|
@ -79,11 +79,11 @@ class URITest < Test::Unit::TestCase
|
|||
assert parser.safe
|
||||
end
|
||||
|
||||
def test_opts_made_invalid_by_mixed_separators
|
||||
assert_raise_error ArgumentError, "invalid data of application/x-www-form-urlencoded (replicaset=foo;bar&slaveok=true&safe=true)" do
|
||||
Mongo::URIParser.new('mongodb://localhost:27018?replicaset=foo;bar&slaveok=true&safe=true')
|
||||
end
|
||||
end
|
||||
#def test_opts_made_invalid_by_mixed_separators
|
||||
# assert_raise_error ArgumentError, "invalid data of application/x-www-form-urlencoded (replicaset=foo;bar&slaveok=true&safe=true)" do
|
||||
# Mongo::URIParser.new('mongodb://localhost:27018?replicaset=foo;bar&slaveok=true&safe=true')
|
||||
# end
|
||||
#end
|
||||
|
||||
def test_opts_safe
|
||||
parser = Mongo::URIParser.new('mongodb://localhost:27018?safe=true;w=2;journal=true;fsync=true;wtimeoutMS=200')
|
||||
|
|
Loading…
Reference in New Issue