Пример #1
0
    def on_put(self, req, resp, tenant_name):
        namespace = tenant_name
        multipart_id = req.get_param('uploadId')
        try:
            part_number = int(req.get_param('partNumber'))
        except (ValueError, TypeError):
            raise InvalidParamException('partNumber',
                                        'Wrong partNumber parameter value')
        key = get_key(req.params)
        logger.info(f"Key: {key} ID: {multipart_id}")
        data = req.stream.read()
        if not tenant_exists(namespace, id_token=req.params['Authorization']):
            raise TenantDoesNotExistException(tenant_name=namespace)

        part_etag = upload_part(data=data,
                                part_number=part_number,
                                bucket=namespace,
                                key=key,
                                multipart_id=multipart_id)
        logger.info(f"ETag: {part_etag}")
        resp.status = falcon.HTTP_200
        resp.body = json.dumps({
            'status': 'OK',
            'data': {
                'ETag': part_etag,
                'op': 'upload_part'
            }
        })
Пример #2
0
    def on_post(self, req, resp, tenant_name):
        namespace = tenant_name
        body = req.media
        key = get_key(body)
        if not tenant_exists(namespace, id_token=req.get_header('Authorization')):
            raise TenantDoesNotExistException(tenant_name=namespace)

        abort_upload(bucket=namespace, key=key, multipart_id=body['uploadId'])
        resp.status = falcon.HTTP_200
        resp.body = f"Upload with ID: {body['uploadId']} aborted successfully"
Пример #3
0
    def on_post(self, req, resp, tenant_name):
        namespace = tenant_name
        body = req.media
        key = get_key(body)
        if not tenant_exists(namespace, id_token=req.get_header('Authorization')):
            raise TenantDoesNotExistException(tenant_name=namespace)

        upload_id = create_upload(bucket=namespace, key=key)
        logger.info("Key: " + key + "  ID: " + upload_id)
        resp.status = falcon.HTTP_200
        resp.body = json.dumps({'uploadId': upload_id})
Пример #4
0
    def on_post(self, req, resp, tenant_name):
        namespace = tenant_name
        body = req.media
        key = get_key(body)
        if not tenant_exists(namespace, id_token=req.params['Authorization']):
            raise TenantDoesNotExistException(tenant_name=namespace)

        abort_upload(bucket=namespace, key=key, multipart_id=body['uploadId'])
        resp.status = falcon.HTTP_200
        resp.body = json.dumps({
            'status': 'OK',
            'data': {
                'uploadId': body['uploadId'],
                'op': 'upload_abort'
            }
        })