summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmer Katz <omer.drow@gmail.com>2015-07-03 12:00:52 +0300
committerOmer Katz <omer.drow@gmail.com>2015-07-03 12:00:52 +0300
commitb934ef52c31ec46db38393e632b42578114d6dbf (patch)
treef07146b417cc432b6cbde10ce08ae6d3bec78f25
parentff712701d78a1b19db786ad02cd5da06c592e033 (diff)
parent42d973d7854a694dea290251e21025b0b90440f4 (diff)
downloadoauthlib-b934ef52c31ec46db38393e632b42578114d6dbf.tar.gz
Merge pull request #356 from lepture/performance-improve
A little performance improvement
-rw-r--r--oauthlib/common.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/oauthlib/common.py b/oauthlib/common.py
index d5d2eae..8d51cc0 100644
--- a/oauthlib/common.py
+++ b/oauthlib/common.py
@@ -37,6 +37,7 @@ CLIENT_ID_CHARACTER_SET = (r' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN'
'OPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}')
PASSWORD_PATTERN = re.compile(r'password=[^&]+')
+INVALID_HEX_PATTERN = re.compile(r'%[^0-9A-Fa-f]|%[0-9A-Fa-f][^0-9A-Fa-f]')
always_safe = ('ABCDEFGHIJKLMNOPQRSTUVWXYZ'
'abcdefghijklmnopqrstuvwxyz'
@@ -133,8 +134,7 @@ def urldecode(query):
# All encoded values begin with % followed by two hex characters
# correct = %00, %A0, %0A, %FF
# invalid = %G0, %5H, %PO
- invalid_hex = '%[^0-9A-Fa-f]|%[0-9A-Fa-f][^0-9A-Fa-f]'
- if len(re.findall(invalid_hex, query)):
+ if INVALID_HEX_PATTERN.search(query):
raise ValueError('Invalid hex encoding in query string.')
# We encode to utf-8 prior to parsing because parse_qsl behaves
@@ -379,7 +379,7 @@ class Request(object):
self.http_method = encode(http_method)
self.headers = CaseInsensitiveDict(encode(headers or {}))
self.body = encode(body)
- self.decoded_body = extract_params(encode(body))
+ self.decoded_body = extract_params(self.body)
self.oauth_params = []
self._params = {