in src/main/java/org/apache/cassandra/sidecar/routes/FileStreamHandler.java [86:112]
private Future<FileProps> ensureValidFile(FileSystem fs, String localFile, Boolean exists)
{
if (!exists)
{
logger.error("The requested file '{}' does not exist", localFile);
return Future.failedFuture(wrapHttpException(NOT_FOUND, "The requested file does not exist"));
}
return fs.props(localFile)
.compose(fileProps -> {
if (fileProps == null || !fileProps.isRegularFile())
{
// File is not a regular file
logger.error("The requested file '{}' does not exist", localFile);
return Future.failedFuture(wrapHttpException(NOT_FOUND, "The requested file does not exist"));
}
if (fileProps.size() <= 0)
{
logger.error("The requested file '{}' has 0 size", localFile);
return Future.failedFuture(wrapHttpException(REQUESTED_RANGE_NOT_SATISFIABLE,
"The requested file is empty"));
}
return Future.succeededFuture(fileProps);
});
}