from mgr_module import MgrModule
from .controllers.auth import Auth
-from .tools import load_controllers
+from .tools import load_controllers, json_error_page
# cherrypy likes to sys.exit on error. don't let it take us down too!
cherrypy.config.update({
'server.socket_host': server_addr,
'server.socket_port': int(server_port),
- 'engine.autoreload.on': False
+ 'engine.autoreload.on': False,
+ 'error_page.default': json_error_page
})
cherrypy.tools.authenticate = cherrypy.Tool('before_handler',
Auth.check_auth)
return controllers
-def _json_error_page(status, message, traceback, version):
+def json_error_page(status, message, traceback, version):
+ cherrypy.response.headers['Content-Type'] = 'application/json'
return json.dumps(dict(status=status, detail=message, traceback=traceback,
version=version))
_mgr_module = None
_cp_config_default = {
- 'request.error_page': {'default': _json_error_page},
+ 'request.error_page': {'default': json_error_page},
}
@property
@cherrypy.expose
def default(self, *vpath, **params):
cherrypy.config.update({
- 'error_page.default': _json_error_page})
+ 'error_page.default': json_error_page})
obj_key, detail_route_name = self.split_vpath(vpath)
method, status_code = self._get_method(obj_key, detail_route_name)