diff options
author | Chris Utz <cutz@users.noreply.github.com> | 2018-08-12 15:44:38 -0500 |
---|---|---|
committer | Pieter Ennes <pieter@ennes.nl> | 2018-08-12 21:44:38 +0100 |
commit | d5d843de71e2ddd6da913971f42beec890f5c3b7 (patch) | |
tree | 670dd63dab2f80ac37a31b432de5d3ee7db4eeab | |
parent | 371029906aa6ccc9943120e096a7bbdd0ef6945d (diff) | |
download | oauthlib-d5d843de71e2ddd6da913971f42beec890f5c3b7.tar.gz |
$ and ' are allowed to be unencoded in query strings (#564)
-rw-r--r-- | oauthlib/common.py | 2 | ||||
-rw-r--r-- | tests/test_common.py | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/oauthlib/common.py b/oauthlib/common.py index f25656f..c1180e6 100644 --- a/oauthlib/common.py +++ b/oauthlib/common.py @@ -114,7 +114,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 b0ea20d..fb4bd5b 100644 --- a/tests/test_common.py +++ b/tests/test_common.py @@ -39,6 +39,8 @@ class EncodingTest(TestCase): 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.assertItemsEqual(urldecode('foo=bar\'s'), [('foo', 'bar\'s')]) + self.assertItemsEqual(urldecode('foo=$'), [('foo', '$')]) self.assertRaises(ValueError, urldecode, 'foo bar') self.assertRaises(ValueError, urldecode, '%R') self.assertRaises(ValueError, urldecode, '%RA') |