diff options
author | Omer Katz <omer.drow@gmail.com> | 2015-07-03 12:00:52 +0300 |
---|---|---|
committer | Omer Katz <omer.drow@gmail.com> | 2015-07-03 12:00:52 +0300 |
commit | b934ef52c31ec46db38393e632b42578114d6dbf (patch) | |
tree | f07146b417cc432b6cbde10ce08ae6d3bec78f25 | |
parent | ff712701d78a1b19db786ad02cd5da06c592e033 (diff) | |
parent | 42d973d7854a694dea290251e21025b0b90440f4 (diff) | |
download | oauthlib-b934ef52c31ec46db38393e632b42578114d6dbf.tar.gz |
Merge pull request #356 from lepture/performance-improve
A little performance improvement
-rw-r--r-- | oauthlib/common.py | 6 |
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 = { |