This commit is contained in:
Scott E. Graves 2024-12-02 13:56:08 -06:00
parent 3814b9797d
commit 04f50f7453

View File

@ -799,30 +799,31 @@ auto s3_provider::read_file_bytes(const std::string &api_path, std::size_t size,
return res;
};
if (is_encrypted) {
std::string temp;
auto res = get_item_meta(api_path, META_SIZE, temp);
if (res != api_error::success) {
return res;
}
const auto total_size = utils::string::to_uint64(temp);
return utils::encryption::read_encrypted_range(
{offset, offset + size - 1U},
utils::encryption::generate_key<utils::encryption::hash_256_t>(
cfg.encryption_token),
[&](data_buffer &ct_buffer, std::uint64_t start_offset,
std::uint64_t end_offset) -> bool {
return read_bytes((end_offset - start_offset + 1U),
start_offset,
ct_buffer) == api_error::success;
},
total_size, data)
? api_error::success
: api_error::decryption_error;
if (not is_encrypted) {
return read_bytes(size, offset, data);
}
return read_bytes(size, offset, data);
std::string temp;
auto res = get_item_meta(api_path, META_SIZE, temp);
if (res != api_error::success) {
return res;
}
const auto total_size = utils::string::to_uint64(temp);
return utils::encryption::read_encrypted_range(
{offset, offset + size - 1U},
utils::encryption::generate_key<utils::encryption::hash_256_t>(
cfg.encryption_token),
[&](data_buffer &ct_buffer, std::uint64_t start_offset,
std::uint64_t end_offset) -> bool {
return read_bytes((end_offset - start_offset + 1U),
start_offset,
ct_buffer) == api_error::success;
},
total_size, data)
? api_error::success
: api_error::decryption_error;
} catch (const std::exception &e) {
utils::error::raise_error(function_name, e, "exception occurred");
}