private Future ensureValidFile()

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);
                 });
    }