@@ -63,9 +63,8 @@ std::unordered_set<Endpoint> GetDefaultEndpoints() {
6363}
6464
6565// / \brief Fetch server config and merge it with client config
66- Result<CatalogConfig> FetchServerConfig (const ResourcePaths& paths ,
66+ Result<CatalogConfig> FetchServerConfig (const std::string& config_path ,
6767 const RestCatalogProperties& current_config) {
68- ICEBERG_ASSIGN_OR_RAISE (auto config_path, paths.Config ());
6968 HttpClient client (current_config.ExtractHeaders ());
7069 ICEBERG_ASSIGN_OR_RAISE (const auto response,
7170 client.Get (config_path, /* params=*/ {}, /* headers=*/ {},
@@ -111,10 +110,9 @@ Result<std::shared_ptr<RestCatalog>> RestCatalog::Make(
111110 if (!file_io) {
112111 return InvalidArgument (" FileIO is required to create RestCatalog" );
113112 }
114- ICEBERG_ASSIGN_OR_RAISE (
115- auto paths, ResourcePaths::Make (std::string (TrimTrailingSlash (uri)),
116- config.Get (RestCatalogProperties::kPrefix )));
117- ICEBERG_ASSIGN_OR_RAISE (auto server_config, FetchServerConfig (*paths, config));
113+ ICEBERG_ASSIGN_OR_RAISE (auto config_uri,
114+ ResourcePaths::Config (std::string (TrimTrailingSlash (uri))));
115+ ICEBERG_ASSIGN_OR_RAISE (auto server_config, FetchServerConfig (config_uri, config));
118116
119117 std::unique_ptr<RestCatalogProperties> final_config = RestCatalogProperties::FromMap (
120118 MergeConfigs (server_config.defaults , config.configs (), server_config.overrides ));
@@ -132,7 +130,9 @@ Result<std::shared_ptr<RestCatalog>> RestCatalog::Make(
132130
133131 // Update resource paths based on the final config
134132 ICEBERG_ASSIGN_OR_RAISE (auto final_uri, final_config->Uri ());
135- ICEBERG_RETURN_UNEXPECTED (paths->SetBaseUri (std::string (TrimTrailingSlash (final_uri))));
133+ ICEBERG_ASSIGN_OR_RAISE (
134+ auto paths, ResourcePaths::Make (std::string (TrimTrailingSlash (final_uri)),
135+ final_config->Get (RestCatalogProperties::kPrefix )));
136136
137137 return std::shared_ptr<RestCatalog>(
138138 new RestCatalog (std::move (final_config), std::move (file_io), std::move (paths),
0 commit comments