http.py 878 Bytes
Newer Older
1 2
""" HTTP-related entities. """

3
from rest_framework.status import HTTP_500_INTERNAL_SERVER_ERROR, HTTP_200_OK
4 5 6 7 8 9 10 11 12

from util.json_request import JsonResponse


class DetailResponse(JsonResponse):
    """ JSON response that simply contains a detail field. """

    def __init__(self, message, status=HTTP_200_OK):
        data = {'detail': message}
13
        super(DetailResponse, self).__init__(resp_obj=data, status=status)
14 15


16 17
class InternalRequestErrorResponse(DetailResponse):
    """ Response returned when an internal service request fails. """
18

19
    def __init__(self, internal_message):
20
        message = (
21 22
            'Call to E-Commerce API failed. Internal Service Message: [{internal_message}]'
            .format(internal_message=internal_message)
23 24
        )
        super(InternalRequestErrorResponse, self).__init__(message=message, status=HTTP_500_INTERNAL_SERVER_ERROR)