def buckets_insert(): """Implement the 'Buckets: insert' API: create a new Bucket.""" base_url = flask.url_for("gcs_index", _external=True) insert_magic_bucket(base_url) payload = json.loads(flask.request.data) bucket_name = payload.get("name") if bucket_name is None: raise error_response.ErrorResponse( "Missing bucket name in `Buckets: insert`", status_code=412) if testbench_utils.has_bucket(bucket_name): raise error_response.ErrorResponse("Bucket %s already exists" % bucket_name, status_code=400) bucket = gcs_bucket.GcsBucket(base_url, bucket_name) testbench_utils.insert_bucket(bucket_name, bucket) return testbench_utils.filtered_response(flask.request, bucket.metadata)
def buckets_insert(): """Implement the 'Buckets: insert' API: create a new Bucket.""" base_url = flask.url_for('gcs_index', _external=True) insert_magic_bucket(base_url) payload = json.loads(flask.request.data) bucket_name = payload.get('name') if bucket_name is None: raise error_response.ErrorResponse( 'Missing bucket name in `Buckets: insert`', status_code=412) if not testbench_utils.validate_bucket_name(bucket_name): raise error_response.ErrorResponse( 'Invalid bucket name in `Buckets: insert`') if testbench_utils.has_bucket(bucket_name): raise error_response.ErrorResponse( 'Bucket %s already exists' % bucket_name, status_code=400) bucket = gcs_bucket.GcsBucket(base_url, bucket_name) bucket.update_from_metadata(payload) testbench_utils.insert_bucket(bucket_name, bucket) return testbench_utils.filtered_response(flask.request, bucket.metadata)