Make wsgi app returns Internal Server Error on exception
If no protocol convert the data into a Response and if the data is an exception it should be returned as an Internal Server Error instead of a succeed response. The exception can be used as description for the Internal Server Error. issue6201 review31951002
This commit is contained in:
@@ -154,7 +154,7 @@ class JSONProtocol:
|
||||
response['result'] = data
|
||||
else:
|
||||
if isinstance(data, Exception):
|
||||
return InternalServerError()
|
||||
return InternalServerError(data)
|
||||
response = data
|
||||
return Response(json.dumps(response, cls=JSONEncoder),
|
||||
content_type='application/json')
|
||||
|
||||
+5
-2
@@ -6,7 +6,7 @@ import traceback
|
||||
|
||||
from werkzeug.wrappers import Response
|
||||
from werkzeug.routing import Map, Rule
|
||||
from werkzeug.exceptions import abort, HTTPException
|
||||
from werkzeug.exceptions import abort, HTTPException, InternalServerError
|
||||
|
||||
import wrapt
|
||||
|
||||
@@ -82,7 +82,10 @@ class TrytondWSGI(object):
|
||||
response = cls.response(data, request)
|
||||
break
|
||||
else:
|
||||
response = Response(data)
|
||||
if isinstance(data, Exception):
|
||||
response = InternalServerError(data)
|
||||
else:
|
||||
response = Response(data)
|
||||
else:
|
||||
response = data
|
||||
# TODO custom process response
|
||||
|
||||
Reference in New Issue
Block a user