Merge pull request #62 from kgriffs/master

Issue #40
This commit is contained in:
Kurt Griffiths
2013-02-04 13:57:26 -08:00
2 changed files with 0 additions and 47 deletions

View File

@@ -16,8 +16,6 @@ limitations under the License.
"""
import traceback
from .request import Request
from .response import Response
from . import responders
@@ -69,25 +67,6 @@ class API(object):
if req.client_accepts_json():
resp.body = ex.json()
except Exception as ex:
# Reset to a known state and respond with a generic error
req = Request(env)
resp = Response()
message = ['Responder raised ', ex.__class__.__name__]
details = str(ex)
if details:
message.append(': ')
message.append(details)
stack = traceback.format_exc()
message.append('\n')
message.append(stack)
req.log_error(''.join(message))
responders.server_error(req, resp)
#
# Set status and headers
#

View File

@@ -10,15 +10,6 @@ else:
str_message = 'UTF-8: \xc2\x80'
class BombResource:
def on_get(self, req, resp):
raise IOError()
def on_head(self, req, resp):
raise MemoryError("I can't remember a thing.")
class LoggerResource:
def on_get(self, req, resp):
@@ -31,10 +22,8 @@ class LoggerResource:
class TestWSGIError(helpers.TestSuite):
def prepare(self):
self.tehbomb = BombResource()
self.tehlogger = LoggerResource()
self.api.add_route('/bomb', self.tehbomb)
self.api.add_route('/logger', self.tehlogger)
self.wsgierrors_buffer = io.BytesIO()
@@ -48,21 +37,6 @@ class TestWSGIError(helpers.TestSuite):
# with undefined encoding, so do the encoding manually.
self.wsgierrors = self.wsgierrors_buffer
def test_exception_logged(self):
self._simulate_request('/bomb', wsgierrors=self.wsgierrors)
log = self.wsgierrors_buffer.getvalue()
self.assertIn(b'IOError', log)
def test_exception_logged_with_details(self):
self._simulate_request('/bomb', wsgierrors=self.wsgierrors,
method='HEAD')
log = self.wsgierrors_buffer.getvalue()
self.assertIn(b'MemoryError', log)
self.assertIn(b'remember a thing', log)
def test_responder_logged_unicode(self):
self._simulate_request('/logger', wsgierrors=self.wsgierrors)