diff --git a/repertory/librepertory/src/providers/s3/s3_provider.cpp b/repertory/librepertory/src/providers/s3/s3_provider.cpp index 187ce69c..82703539 100644 --- a/repertory/librepertory/src/providers/s3/s3_provider.cpp +++ b/repertory/librepertory/src/providers/s3/s3_provider.cpp @@ -1204,6 +1204,8 @@ auto s3_provider::upload_file_impl(const std::string &api_path, return api_error::comm_error; } file_size = opt_size.value(); + } else { + return api_error::item_not_found; } const auto &cfg{get_s3_config()}; diff --git a/repertory/librepertory/src/providers/sia/sia_provider.cpp b/repertory/librepertory/src/providers/sia/sia_provider.cpp index 3909c255..87eae75d 100644 --- a/repertory/librepertory/src/providers/sia/sia_provider.cpp +++ b/repertory/librepertory/src/providers/sia/sia_provider.cpp @@ -900,6 +900,10 @@ auto sia_provider::upload_file_impl(const std::string &api_path, stop_type &stop_requested) -> api_error { REPERTORY_USES_FUNCTION_NAME(); + if (not utils::file::file{source_path}.exists()) { + return api_error::item_not_found; + } + curl::requests::http_put_file put_file{}; put_file.path = "/api/worker/object" + api_path; put_file.query["bucket"] = get_sia_config().bucket;