Merge pull request #353 from kgriffs/perf

perf(Request): Use partition in lieu of split
This commit is contained in:
Kurt Griffiths
2014-10-27 12:33:05 -05:00
2 changed files with 7 additions and 4 deletions

View File

@@ -320,7 +320,10 @@ class Request(object):
raise HTTPInvalidHeader(msg, 'Range')
try:
first, last = value.split('-')
first, sep, last = value.partition('-')
if not sep:
raise ValueError()
if first:
return (int(first), int(last or -1))
@@ -333,7 +336,7 @@ class Request(object):
except ValueError:
href = 'http://goo.gl/zZ6Ey'
href_text = 'HTTP/1.1 Range Requests'
msg = ('It must be formatted according to RFC 2616.')
msg = ('It must be a byte range formatted according to RFC 2616.')
raise HTTPInvalidHeader(msg, 'Range', href=href,
href_text=href_text)

View File

@@ -417,8 +417,8 @@ class TestReqVars(testing.TestBase):
headers = {'Range': 'x-y'}
expected_desc = ('The value provided for the Range header is '
'invalid. It must be formatted according to '
'RFC 2616.')
'invalid. It must be a byte range formatted '
'according to RFC 2616.')
self._test_error_details(headers, 'range',
falcon.HTTPInvalidHeader,
'Invalid header value', expected_desc)