diff --git a/api/storage_service.cc b/api/storage_service.cc index 5d290d0237..7af87282c8 100644 --- a/api/storage_service.cc +++ b/api/storage_service.cc @@ -505,10 +505,9 @@ void set_sstables_loader(http_context& ctx, routes& r, sharded& if (!parsed.IsArray()) { throw httpd::bad_param_exception("mulformatted sstables in body"); } - std::vector sstables; - for (const rjson::value& element : parsed.GetArray()) { - sstables.emplace_back(rjson::to_string_view(element)); - } + auto sstables = parsed.GetArray() | + std::views::transform([] (const auto& s) { return sstring(rjson::to_string_view(s)); }) | + std::ranges::to(); auto task_id = co_await sst_loader.local().download_new_sstables(keyspace, table, prefix, std::move(sstables), endpoint, bucket); co_return json::json_return_type(fmt::to_string(task_id)); });