Example #1
0
    def echo(self, request, *args, **kwargs):
        response = HttpResponse("echo")

        try:
            response.data = request.data
        except AttributeError:
            response.data = request.DATA

        return response
Example #2
0
 def update_data(response: HttpResponse):
     if hasattr(response, 'data') and response.data and not (
             'status' in response.data and 'data' in response.data):
         response.data = {
             'status': getattr(response, 'status_text', 'ok').lower(),
             'code': response.status_code,
             'data': response.data
         }
Example #3
0
def json_response(data, status_code=200):
    """
    Return a HTTPResponse serializing DATA with the correct serializer
    """
    response = HttpResponse()
    response['Content-Type'] = 'application/json'
    response.data = data
    response.content = json.dumps(data, cls=OpalSerializer)
    response.status_code = status_code
    return response
Example #4
0
def json_response(data, status_code=200):
    """
    Return a HTTPResponse serializing DATA with the correct serializer
    """
    response = HttpResponse()
    response['Content-Type'] = 'application/json'
    response.data = data
    response.content = json.dumps(data, cls=OpalSerializer)
    response.status_code = status_code
    return response
Example #5
0
def zip_response(json_data):
    gzip_buffer = IO()
    gzip_file = gzip.GzipFile(mode='wb', fileobj=gzip_buffer)
    gzip_file.write(json_data)
    gzip_file.close()

    response = HttpResponse(content_type='application/json')

    response.data = gzip_buffer.getvalue()
    response.headers['Content-Encoding'] = 'gzip'
    response.headers['Vary'] = 'Accept-Encoding'
    response.headers['Content-Length'] = len(response.data)

    return response
Example #6
0
def create_response(content='', data=None, status_code=200, headers={}):
    response = HttpResponse(status=status_code)

    for k, v in headers.iteritems():
        response[k] = v

    # To support blank responses for PUT, DELETE, and OPTIONS.
    if len(content) > 0:
        response.content = content

    # For unit tests.
    response.data = data

    return response
Example #7
0
def json_response(request, content, status=200):
    serialized = dumps(content, default=dthandler)

    callback = request.GET.get("callback")
    if callback and CALLBACK_RE.match(callback):
        serialized = "%s(%s);" % (callback, serialized)

    response = HttpResponse(
        content=serialized,
        mimetype="application/json",
        status=status,
    )

    response.data = content
    return response
Example #8
0
 def process_exception(self, request, exception):
     error = json.dumps({"message": exception.message})
     response = HttpResponse(error, content_type="application/json")
     response.data = error  # for Django Rest framework Response compatibility
     if type(exception) == APIError:
         response.status_code = status.HTTP_400_BAD_REQUEST
         return response
     elif type(exception) == APINotAuthenticateError:
         response.content = json.dumps({"message": "login required"})
         response.status_code = status.HTTP_401_UNAUTHORIZED
         return response
     elif type(exception) == APINoPermissionError:
         response.content = json.dumps({"message": "permission denied"})
         response.status_code = status.HTTP_403_FORBIDDEN
         return response
     return None
Example #9
0
def _http_error(status_code=400, message='', content_type=None, **kwargs):
    response = Response(status=status_code)
    data = None
    if content_type:
        _set_header(response, 'Content-Type', MIME_TYPES[content_type])
        body = {}
        if message:
            body['message'] = message
        if kwargs:
            body.update(kwargs)
        if body:
            params = {}
            if content_type == 'xml':
                params['root_node'] = 'error'
            data = _serializers[content_type](body, **params)
    elif message:
        data = message
    if data is not None:
        if IS_DJANGO:
            response.content = data
        else:
            response.data = data
    return response
Example #10
0
 def response(cls, data):
     resp = HttpResponse(json.dumps(data, indent=4),
                         content_type=cls.content_type)
     resp.data = data
     return resp
Example #11
0
 def response(cls, data):
     res = HttpResponse(json.dumps(data), content_type=cls.content_type)
     res.data = data
     return res
Example #12
0
 def response(cls, data):
     resp = HttpResponse(json.dumps(data, indent=4), content_type=cls.content_type)
     resp.data = data
     return resp
Example #13
0
def JsonResponse(obj):
    response = HttpResponse(content=json.dumps(obj), content_type="application/x-javascript")
    response.data = obj
    return response
Example #14
0
 def response(cls, data, status):
     resp = HttpResponse(json.dumps(data, indent=4, cls=MyJSONEncoder),
                         content_type=cls.content_type, status=status)
     resp.data = data
     return resp
Example #15
0
    def echo(self, request, *args, **kwargs):
        response = HttpResponse("echo")
        response.data = request.DATA

        return response