Beispiel #1
0
        LOGGER.debug("Got API POST request for %s", kind)
        if not request.user.has_perm("pkgsinfo.create_pkginfofile"):
            raise PermissionDenied
        filename = request.POST.get("filename") or filepath
        filedata = request.FILES.get("filedata")
        if not (filename and filedata):
            # malformed request
            return HttpResponse(
                json.dumps(
                    {"result": "failed", "exception_type": "BadRequest", "detail": "Missing filename or filedata"}
                ),
                content_type="application/json",
                status=400,
            )
        try:
            MunkiFile.new(kind, filedata, filename, request.user)
        except FileError, err:
            return HttpResponse(
                json.dumps({"result": "failed", "exception_type": str(type(err)), "detail": str(err)}),
                content_type="application/json",
                status=403,
            )
        else:
            return HttpResponse(json.dumps({"filename": filename}), content_type="application/json", status=200)

    if request.method in ("PUT", "PATCH"):
        LOGGER.debug("Got API %s request for %s", request.method, kind)
        response = HttpResponse(
            json.dumps({"result": "failed", "exception_type": "NotAllowed", "detail": "This method is not supported"}),
            content_type="application/json",
            status=405,
Beispiel #2
0
            filename = request.POST.get('filename') or filepath
            filedata = request.FILES.get('filedata')
        else:
            filename = filepath
            filedata = request.body
        LOGGER.debug("Filename is %s" % filename)
        if not (filename and filedata):
            # malformed request
            return HttpResponse(
                json.dumps({'result': 'failed',
                            'exception_type': 'BadRequest',
                            'detail': 'Missing filename or filedata'}),
                content_type='application/json', status=400)
        try:
            if request.method == 'POST':
                MunkiFile.new(kind, filedata, filename, request.user)
            else:
                MunkiFile.writedata(kind, filedata, filename, request.user)
        except FileError, err:
            return HttpResponse(
                json.dumps({'result': 'failed',
                            'exception_type': str(type(err)),
                            'detail': str(err)}),
                content_type='application/json', status=403)
        else:
            return HttpResponse(
                json.dumps({'filename': filename}),
                content_type='application/json', status=200)

    if request.method == 'PATCH':
        LOGGER.debug("Got API PATCH request for %s", kind)