diff options
author | Omer Katz <omer.drow@gmail.com> | 2016-03-14 11:48:03 +0200 |
---|---|---|
committer | Omer Katz <omer.drow@gmail.com> | 2016-03-14 11:48:03 +0200 |
commit | a7483b73dac3ba00e90ef58a72bdefd0bec27ad9 (patch) | |
tree | d25e4a96dab0853c3bb0c42639dd4a5cae8d8a6f | |
parent | cc3b3abfcd3a2509031b9f8bf92e8bfe6367a9aa (diff) | |
parent | e59f04bf577f0faa3e5fe2de177d65d094592b55 (diff) | |
download | oauthlib-a7483b73dac3ba00e90ef58a72bdefd0bec27ad9.tar.gz |
Merge pull request #407 from eofs/feature/rfc-3986-section-3.4
Allow `/` and `?` characters in query string (RFC 3986 section 3.4)
-rw-r--r-- | oauthlib/common.py | 2 | ||||
-rw-r--r-- | tests/test_common.py | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/oauthlib/common.py b/oauthlib/common.py index db07f08..e0e80c8 100644 --- a/oauthlib/common.py +++ b/oauthlib/common.py @@ -109,7 +109,7 @@ def decode_params_utf8(params): return decoded -urlencoded = set(always_safe) | set('=&;%+~,*@!()') +urlencoded = set(always_safe) | set('=&;%+~,*@!()/?') def urldecode(query): diff --git a/tests/test_common.py b/tests/test_common.py index 22729a0..fb28fa4 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -43,8 +43,9 @@ class EncodingTest(TestCase): self.assertItemsEqual(urldecode('foo=(1,2,3)'), [('foo', '(1,2,3)')]) self.assertItemsEqual(urldecode('foo=bar.*'), [('foo', 'bar.*')]) self.assertItemsEqual(urldecode('foo=bar@spam'), [('foo', 'bar@spam')]) + self.assertItemsEqual(urldecode('foo=bar/baz'), [('foo', 'bar/baz')]) + self.assertItemsEqual(urldecode('foo=bar?baz'), [('foo', 'bar?baz')]) self.assertRaises(ValueError, urldecode, 'foo bar') - self.assertRaises(ValueError, urldecode, '?') self.assertRaises(ValueError, urldecode, '%R') self.assertRaises(ValueError, urldecode, '%RA') self.assertRaises(ValueError, urldecode, '%AR') |