refactor(Request): Rename get_header and get_param to try_*
In preparation for adding variants of these methods that raise exceptions, rename these to make it obvious that they return default values if the specified header or param is not found in the request.
This commit is contained in:
@@ -56,7 +56,7 @@ class Request:
|
||||
|
||||
_headers['HOST'] = host
|
||||
|
||||
def get_header(self, name, default=None):
|
||||
def try_get_header(self, name, default=None):
|
||||
"""Return a header value as a string
|
||||
|
||||
name -- Header name, case-insensitive (e.g., 'Content-Type')
|
||||
@@ -70,10 +70,10 @@ class Request:
|
||||
# This will be faster, assuming that most headers are looked
|
||||
# up only once, and not all headers will be requested.
|
||||
return self._headers[name.upper().replace('-', '_')]
|
||||
except KeyError as e:
|
||||
except KeyError:
|
||||
return default
|
||||
|
||||
def get_param(self, name, default=None):
|
||||
def try_get_param(self, name, default=None):
|
||||
"""Return a URI parameter value as a string
|
||||
|
||||
name -- Parameter name as specified in the route template. Note that
|
||||
|
||||
@@ -35,7 +35,7 @@ class TestHeaders(helpers.TestSuite):
|
||||
self._simulate_request(self.test_route)
|
||||
|
||||
# Make sure we picked up host from HTTP_HOST, not SERVER_NAME
|
||||
host = self.reqhandler.req.get_header('host')
|
||||
host = self.reqhandler.req.try_get_header('host')
|
||||
self.assertEquals(host, 'falconer')
|
||||
|
||||
def test_host_fallback(self):
|
||||
@@ -43,7 +43,7 @@ class TestHeaders(helpers.TestSuite):
|
||||
self._simulate_request(self.test_route, protocol='HTTP/1.0')
|
||||
|
||||
# Make sure we picked up host from HTTP_HOST, not SERVER_NAME
|
||||
host = self.reqhandler.req.get_header('host')
|
||||
host = self.reqhandler.req.try_get_header('host')
|
||||
self.assertEquals(host, 'localhost')
|
||||
|
||||
def test_host_fallback_port8000(self):
|
||||
@@ -52,7 +52,7 @@ class TestHeaders(helpers.TestSuite):
|
||||
port='8000')
|
||||
|
||||
# Make sure we picked up host from HTTP_HOST, not SERVER_NAME
|
||||
host = self.reqhandler.req.get_header('host')
|
||||
host = self.reqhandler.req.try_get_header('host')
|
||||
self.assertEquals(host, 'localhost:8000')
|
||||
|
||||
def test_no_body_on_1xx(self):
|
||||
@@ -103,7 +103,7 @@ class TestHeaders(helpers.TestSuite):
|
||||
self._simulate_request(self.test_route, headers=req_headers)
|
||||
|
||||
for name, expected_value in req_headers.iteritems():
|
||||
actual_value = self.reqhandler.req.get_header(name)
|
||||
actual_value = self.reqhandler.req.try_get_header(name)
|
||||
self.assertEquals(actual_value, expected_value)
|
||||
|
||||
def test_passthrough_resp_headers(self):
|
||||
|
||||
@@ -14,30 +14,30 @@ class TestQueryParams(helpers.TestSuite):
|
||||
self._simulate_request('/', query_string=query_string)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('marker'), None)
|
||||
self.assertEquals(req.get_param('limit'), None)
|
||||
self.assertEquals(req.try_get_param('marker'), None)
|
||||
self.assertEquals(req.try_get_param('limit'), None)
|
||||
|
||||
def test_simple(self):
|
||||
query_string = 'marker=deadbeef&limit=25'
|
||||
self._simulate_request('/', query_string=query_string)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('marker'), 'deadbeef')
|
||||
self.assertEquals(req.get_param('limit'), '25')
|
||||
self.assertEquals(req.try_get_param('marker'), 'deadbeef')
|
||||
self.assertEquals(req.try_get_param('limit'), '25')
|
||||
|
||||
def test_list_type(self):
|
||||
query_string = 'colors=red,green,blue&limit=1'
|
||||
self._simulate_request('/', query_string=query_string)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('colors'), ['red', 'green', 'blue'])
|
||||
self.assertEquals(req.get_param('limit'), '1')
|
||||
self.assertEquals(req.try_get_param('colors'), ['red', 'green', 'blue'])
|
||||
self.assertEquals(req.try_get_param('limit'), '1')
|
||||
|
||||
def test_bogus_input(self):
|
||||
query_string = 'colors=red,green,&limit=1&pickle'
|
||||
self._simulate_request('/', query_string=query_string)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('colors'), ['red', 'green', ''])
|
||||
self.assertEquals(req.get_param('limit'), '1')
|
||||
self.assertEquals(req.get_param('pickle'), None)
|
||||
self.assertEquals(req.try_get_param('colors'), ['red', 'green', ''])
|
||||
self.assertEquals(req.try_get_param('limit'), '1')
|
||||
self.assertEquals(req.try_get_param('pickle'), None)
|
||||
|
||||
@@ -20,7 +20,7 @@ class TestReqVars(helpers.TestSuite):
|
||||
req = self.req
|
||||
|
||||
scheme = req.protocol
|
||||
host = req.get_header('host')
|
||||
host = req.try_get_header('host')
|
||||
app = req.app
|
||||
path = req.path
|
||||
query_string = req.query_string
|
||||
@@ -40,7 +40,7 @@ class TestReqVars(helpers.TestSuite):
|
||||
self.assertEquals(self.req.path, '/')
|
||||
|
||||
def test_content_type(self):
|
||||
self.assertEquals(self.req.get_header('content-type'), 'text/plain')
|
||||
self.assertEquals(self.req.try_get_header('content-type'), 'text/plain')
|
||||
|
||||
def test_content_length(self):
|
||||
self.assertEquals(self.req.get_header('content-length'), '4829')
|
||||
self.assertEquals(self.req.try_get_header('content-length'), '4829')
|
||||
|
||||
@@ -34,7 +34,7 @@ class TestRequestBody(helpers.TestSuite):
|
||||
|
||||
self._simulate_request('', body=expected_body, headers=headers)
|
||||
|
||||
content_len = self.reqhandler.req.get_header('content-length')
|
||||
content_len = self.reqhandler.req.try_get_header('content-length')
|
||||
self.assertEqual(content_len, str(expected_len))
|
||||
|
||||
stream = self.reqhandler.req.body
|
||||
|
||||
@@ -13,7 +13,7 @@ class TestUriTemplates(helpers.TestSuite):
|
||||
self.assertTrue(self.reqhandler.called)
|
||||
req = self.reqhandler.req
|
||||
|
||||
self.assertEquals(req.get_param('id'), None)
|
||||
self.assertEquals(req.try_get_param('id'), None)
|
||||
|
||||
def test_no_vars(self):
|
||||
self.api.add_route('/hello/world', self.reqhandler)
|
||||
@@ -22,7 +22,7 @@ class TestUriTemplates(helpers.TestSuite):
|
||||
self.assertTrue(self.reqhandler.called)
|
||||
req = self.reqhandler.req
|
||||
|
||||
self.assertEquals(req.get_param('world'), None)
|
||||
self.assertEquals(req.try_get_param('world'), None)
|
||||
|
||||
def test_single(self):
|
||||
self.api.add_route('/widgets/{id}', self.reqhandler)
|
||||
@@ -31,8 +31,8 @@ class TestUriTemplates(helpers.TestSuite):
|
||||
self.assertTrue(self.reqhandler.called)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('id'), '123')
|
||||
self.assertEquals(req.get_param('Id'), None)
|
||||
self.assertEquals(req.try_get_param('id'), '123')
|
||||
self.assertEquals(req.try_get_param('Id'), None)
|
||||
|
||||
def test_single_trailing_slash(self):
|
||||
self.api.add_route('/widgets/{id}/', self.reqhandler)
|
||||
@@ -44,7 +44,7 @@ class TestUriTemplates(helpers.TestSuite):
|
||||
self.assertTrue(self.reqhandler.called)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('id'), '123')
|
||||
self.assertEquals(req.try_get_param('id'), '123')
|
||||
|
||||
def test_multiple(self):
|
||||
self.api.add_route('/messages/{Id}/names/{Name}', self.reqhandler)
|
||||
@@ -56,6 +56,6 @@ class TestUriTemplates(helpers.TestSuite):
|
||||
self.assertTrue(self.reqhandler.called)
|
||||
|
||||
req = self.reqhandler.req
|
||||
self.assertEquals(req.get_param('Id'), test_id)
|
||||
self.assertEquals(req.get_param('Name'), test_name)
|
||||
self.assertEquals(req.get_param('name'), None)
|
||||
self.assertEquals(req.try_get_param('Id'), test_id)
|
||||
self.assertEquals(req.try_get_param('Name'), test_name)
|
||||
self.assertEquals(req.try_get_param('name'), None)
|
||||
|
||||
Reference in New Issue
Block a user