def request_object_factory(self, request, user, path, requestId): pycb.log(logging.INFO, "path %s" % (path)) # handle the one service operation if path == "/": if request.method == 'GET': cbR = cbGetService(request, user, requestId, pycb.config.bucket) return cbR raise cbException('InvalidArgument') (bucketName, objectName) = path_to_bucket_object(path) init_redirector(request, bucketName, objectName) pycb.log( logging.INFO, "path %s bucket %s object %s" % (path, bucketName, str(objectName))) if request.method == 'GET': if objectName == None: cbR = cbGetBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbGetObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'PUT': if objectName == None: cbR = cbPutBucket(request, user, bucketName, requestId, pycb.config.bucket) else: args = request.getAllHeaders() if 'x-amz-copy-source' in args: (srcBucketName, srcObjectName) = path_to_bucket_object( args['x-amz-copy-source']) cbR = cbCopyObject(request, user, requestId, pycb.config.bucket, srcBucketName, srcObjectName, bucketName, objectName) else: cbR = cbPutObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'POST': pycb.log(logging.ERROR, "Nothing to handle POST") elif request.method == 'DELETE': if objectName == None: cbR = cbDeleteBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbDeleteObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'HEAD' and objectName != None: cbR = cbHeadObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR raise cbException('InvalidArgument')
def request_object_factory(self, request, user, path, requestId): pycb.log(logging.INFO, "===== def request_object_factory of cumulus.py") pycb.log(logging.INFO, "path %s" % (path)) # handle the one service operation if path == "/": if request.method == 'GET': cbR = cbGetService(request, user, requestId, pycb.config.bucket) return cbR raise cbException('InvalidArgument') (bucketName, objectName) = path_to_bucket_object(path) init_redirector(request, bucketName, objectName) pycb.log(logging.INFO, "path %s bucket %s object %s" % (path, bucketName, str(objectName))) if request.method == 'GET': if objectName == None: cbR = cbGetBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbGetObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'PUT': if objectName == None: cbR = cbPutBucket(request, user, bucketName, requestId, pycb.config.bucket) else: args = request.getAllHeaders() if 'x-amz-copy-source' in args: (srcBucketName, srcObjectName) = path_to_bucket_object(args['x-amz-copy-source']) cbR = cbCopyObject(request, user, requestId, pycb.config.bucket, srcBucketName, srcObjectName, bucketName, objectName) else: cbR = cbPutObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'POST': pycb.log(logging.ERROR, "Nothing to handle POST") elif request.method == 'DELETE': if objectName == None: cbR = cbDeleteBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbDeleteObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'HEAD' and objectName != None: cbR = cbHeadObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR raise cbException('InvalidArgument')
def request_object_factory(self, request, user, path, requestId): pycb.log(logging.INFO, "path %s" % (path)) # handle the one service operation if path == "/": if request.method == 'GET': cbR = cbGetService(request, user, requestId, pycb.config.bucket) return cbR raise cbException('InvalidArgument') (bucketName, objectName) = path_to_bucket_object(path) pycb.log(logging.INFO, "path %s bucket %s object %s" % (path, bucketName, str(objectName))) if request.method == 'GET': if objectName == None: cbR = cbGetBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbGetObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'PUT': if objectName == None: cbR = cbPutBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbPutObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'POST': pycb.log(logging.ERROR, "Nothing to handle POST") elif request.method == 'DELETE': if objectName == None: cbR = cbDeleteBucket(request, user, bucketName, requestId, pycb.config.bucket) else: cbR = cbDeleteObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR elif request.method == 'HEAD' and objectName != None: cbR = cbHeadObject(request, user, bucketName, objectName, requestId, pycb.config.bucket) return cbR raise cbException('InvalidArgument')