Esempio n. 1
0
def parse_body(r, request):
    if request.method == 'POST' or request.method == 'PUT':
        if 'multipart/form-data' in request.META['CONTENT_TYPE']:
            r.update(request.POST.dict())
            parser = MultiPartParser(request.META,
                                     StringIO.StringIO(request.raw_post_data),
                                     request.upload_handlers)
            post, files = parser.parse()
            r['files'] = files
        else:
            if request.body:
                r['body'] = request.body
                # if isinstance(request.body, basestring):
                #     try:
                #         r['body'] = ast.literal_eval(request.body)
                #     except:
                #         r['body'] = json.loads(request.body)
            if request.raw_post_data:
                r['raw_post_data'] = request.raw_post_data
                # if isinstance(request.raw_post_data, basestring):
                #     try:
                #         r['raw_post_data'] = ast.literal_eval(request.raw_post_data)
                #     except:
                #         r['raw_post_data'] = json.loads(request.raw_post_data)
    return r
Esempio n. 2
0
def parse_body(r, request):
    if request.method == 'POST' or request.method == 'PUT':
        # Parse out profiles/states if the POST dict is not empty
        if 'multipart/form-data' in request.META['CONTENT_TYPE']:
            if request.POST.dict().keys():
                r['params'].update(request.POST.dict())
                parser = MultiPartParser(
                    request.META, StringIO.StringIO(request.raw_post_data),
                    request.upload_handlers)
                post, files = parser.parse()
                r['files'] = files
        # If it is multipart/mixed, parse out all data
        elif 'multipart/mixed' in request.META['CONTENT_TYPE']:
            parse_attachment(r, request)
        # Normal POST/PUT data
        else:
            if request.body:
                # profile uses the request body
                r['raw_body'] = request.body
                # Body will be some type of string, not necessarily JSON
                r['body'] = convert_to_dict(request.body)
            else:
                raise Exception("No body in request")
    return r