31 lines
791 B
Python
31 lines
791 B
Python
import sys
|
|
import traceback
|
|
|
|
from rest_framework.response import Response
|
|
|
|
|
|
status_code_message_map = {
|
|
204: 'Successfully deleted entity.',
|
|
403: 'User does not have access to this entity.',
|
|
404: 'No entity matches the given query',
|
|
500: 'Something went wrong!'
|
|
}
|
|
|
|
|
|
def build_response(status_code=200, data=None, message=None):
|
|
response = Response()
|
|
response.status_code = status_code
|
|
|
|
if response.status_code == 200:
|
|
response.data = data
|
|
else:
|
|
response.data = {}
|
|
response.data['message'] = message if message else status_code_message_map.get(status_code)
|
|
|
|
exc_info = sys.exc_info()
|
|
exception_info = ''.join(traceback.format_exception(*exc_info))
|
|
response.data['details'] = exception_info
|
|
|
|
return response
|
|
|