From 29615d61eb9a6b0c0eb6f214376883a783eb4c8a Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Mon, 2 Dec 2024 11:10:40 -0600 Subject: [PATCH] [bug] Incorrect file size displayed while upload is pending #23 --- repertory/librepertory/src/providers/s3/s3_provider.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/repertory/librepertory/src/providers/s3/s3_provider.cpp b/repertory/librepertory/src/providers/s3/s3_provider.cpp index 4da0a026..b83ddb8f 100644 --- a/repertory/librepertory/src/providers/s3/s3_provider.cpp +++ b/repertory/librepertory/src/providers/s3/s3_provider.cpp @@ -425,7 +425,7 @@ auto s3_provider::get_directory_items_impl(const std::string &api_path, false, child_object_name, last_modified, [this, &is_encrypted, &size](const directory_item &dir_item) -> std::uint64_t { - std::string size_str{}; + std::string size_str; auto res = get_item_meta(dir_item.api_path, META_SIZE, size_str); if (res == api_error::success) { return utils::string::to_uint64(size_str); @@ -466,6 +466,13 @@ auto s3_provider::get_file(const std::string &api_path, api_file &file) const result.content_length) : result.content_length; file.key = is_encrypted ? utils::path::create_api_path(api_path) : ""; + + std::string size_str; + auto res = get_item_meta(file.api_path, META_SIZE, size_str); + if (res == api_error::success) { + file.file_size = utils::string::to_uint64(size_str); + } + return add_if_not_found(file, object_name); } catch (const std::exception &e) { utils::error::raise_error(function_name, e, "exception occurred");