From 777db300e1d5430bd93d998aa931e9b017eacb57 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Mon, 30 Dec 2024 18:44:21 -0600 Subject: [PATCH] fix --- .../src/providers/s3/s3_provider.cpp | 58 +++++++++---------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/repertory/librepertory/src/providers/s3/s3_provider.cpp b/repertory/librepertory/src/providers/s3/s3_provider.cpp index 364e24bf..69cf2e4b 100644 --- a/repertory/librepertory/src/providers/s3/s3_provider.cpp +++ b/repertory/librepertory/src/providers/s3/s3_provider.cpp @@ -43,9 +43,8 @@ namespace repertory { s3_provider::s3_provider(app_config &config, i_http_comm &comm) : base_provider(config, comm) {} -auto s3_provider::add_if_not_found(api_file &file, - const std::string &object_name) const - -> api_error { +auto s3_provider::add_if_not_found( + api_file &file, const std::string &object_name) const -> api_error { api_meta_map meta{}; if (get_item_meta(file.api_path, meta) == api_error::item_not_found) { auto err = create_path_directories( @@ -71,7 +70,7 @@ auto s3_provider::convert_api_date(std::string_view date) -> std::uint64_t { utils::string::split(date_parts.at(1U), 'Z', true).at(0U)) * 1000000UL; - struct tm tm1{}; + struct tm tm1 {}; #if defined(_WIN32) utils::time::strptime(date_time.c_str(), "%Y-%m-%dT%T", &tm1); return nanos + utils::time::windows_time_t_to_unix_time(_mkgmtime(&tm1)); @@ -169,9 +168,8 @@ auto s3_provider::create_file_extra(const std::string &api_path, return api_error::success; } -auto s3_provider::create_path_directories(const std::string &api_path, - const std::string &key) const - -> api_error { +auto s3_provider::create_path_directories( + const std::string &api_path, const std::string &key) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); if (api_path == "/") { @@ -349,9 +347,8 @@ auto s3_provider::get_directory_item_count(const std::string &api_path) const return 0U; } -auto s3_provider::get_directory_items_impl(const std::string &api_path, - directory_item_list &list) const - -> api_error { +auto s3_provider::get_directory_items_impl( + const std::string &api_path, directory_item_list &list) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); const auto &cfg = get_s3_config(); @@ -412,7 +409,8 @@ auto s3_provider::get_directory_items_impl(const std::string &api_path, auto node_list = doc.select_nodes("/ListBucketResult/CommonPrefixes/Prefix"); for (const auto &node : node_list) { - auto child_object_name = node.node().text().as_string(); + auto child_object_name = utils::path::create_api_path( + utils::path::combine("/", {node.node().text().as_string()})); directory_item dir_item{}; dir_item.api_path = child_object_name; if (is_encrypted) { @@ -509,8 +507,8 @@ auto s3_provider::get_directory_items_impl(const std::string &api_path, return ret; } -auto s3_provider::get_file(const std::string &api_path, api_file &file) const - -> api_error { +auto s3_provider::get_file(const std::string &api_path, + api_file &file) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); try { @@ -549,8 +547,8 @@ auto s3_provider::get_file(const std::string &api_path, api_file &file) const return api_error::error; } -auto s3_provider::get_file_list(api_file_list &list, std::string &marker) const - -> api_error { +auto s3_provider::get_file_list(api_file_list &list, + std::string &marker) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); std::string response_data; @@ -625,9 +623,8 @@ auto s3_provider::get_file_list(api_file_list &list, std::string &marker) const return grab_more ? api_error::more_data : api_error::success; } -auto s3_provider::get_last_modified(bool directory, - const std::string &api_path) const - -> std::uint64_t { +auto s3_provider::get_last_modified( + bool directory, const std::string &api_path) const -> std::uint64_t { bool is_encrypted{}; std::string object_name; head_object_result result{}; @@ -637,10 +634,9 @@ auto s3_provider::get_last_modified(bool directory, : utils::time::get_time_now(); } -auto s3_provider::get_object_info(bool directory, const std::string &api_path, - bool &is_encrypted, std::string &object_name, - head_object_result &result) const - -> api_error { +auto s3_provider::get_object_info( + bool directory, const std::string &api_path, bool &is_encrypted, + std::string &object_name, head_object_result &result) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); try { @@ -695,12 +691,10 @@ auto s3_provider::get_object_info(bool directory, const std::string &api_path, return api_error::error; } -auto s3_provider::get_object_list(std::string &response_data, - long &response_code, - std::optional delimiter, - std::optional prefix, - std::optional token) const - -> bool { +auto s3_provider::get_object_list( + std::string &response_data, long &response_code, + std::optional delimiter, std::optional prefix, + std::optional token) const -> bool { curl::requests::http_get get{}; get.allow_timeout = true; get.aws_service = "aws:amz:" + get_s3_config().region + ":s3"; @@ -728,8 +722,8 @@ auto s3_provider::get_total_drive_space() const -> std::uint64_t { return std::numeric_limits::max() / std::int64_t(2); } -auto s3_provider::is_directory(const std::string &api_path, bool &exists) const - -> api_error { +auto s3_provider::is_directory(const std::string &api_path, + bool &exists) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); exists = false; @@ -756,8 +750,8 @@ auto s3_provider::is_directory(const std::string &api_path, bool &exists) const return api_error::error; } -auto s3_provider::is_file(const std::string &api_path, bool &exists) const - -> api_error { +auto s3_provider::is_file(const std::string &api_path, + bool &exists) const -> api_error { REPERTORY_USES_FUNCTION_NAME(); exists = false;