Merge "Add a global error handler for wsgi"
This commit is contained in:
commit
e061305356
@ -22,7 +22,7 @@ from zaqar.tests.unit.transport.wsgi import base
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class TestQueueLifecycleMongoDB(base.V1BaseFaulty):
|
||||
class TestQueueLifecycleMongoDB(base.V1Base):
|
||||
|
||||
config_file = 'wsgi_mongodb.conf'
|
||||
|
||||
|
@ -19,6 +19,7 @@ from wsgiref import simple_server
|
||||
import falcon
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
import six
|
||||
|
||||
from zaqar.common import decorators
|
||||
from zaqar.common.transport.wsgi import helpers
|
||||
@ -98,6 +99,7 @@ class Driver(transport.DriverBase):
|
||||
])
|
||||
|
||||
self.app = falcon.API(before=self.before_hooks)
|
||||
self.app.add_error_handler(Exception, self._error_handler)
|
||||
|
||||
for version_path, endpoints in catalog:
|
||||
for route, resource in endpoints:
|
||||
@ -115,6 +117,13 @@ class Driver(transport.DriverBase):
|
||||
|
||||
self.app = auth.SignedHeadersAuth(self.app, auth_app)
|
||||
|
||||
def _error_handler(self, exc, request, response, params):
|
||||
if isinstance(exc, falcon.HTTPError):
|
||||
raise exc
|
||||
LOG.exception(exc)
|
||||
raise falcon.HTTPInternalServerError('Internal server error',
|
||||
six.text_type(exc))
|
||||
|
||||
def listen(self):
|
||||
"""Self-host using 'bind' and 'port' from the WSGI config group."""
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user