diff options
author | Sergey Uzhakov <uzhastik@gmail.com> | 2022-04-18 21:36:49 +0300 |
---|---|---|
committer | Sergey Uzhakov <uzhastik@gmail.com> | 2022-04-18 21:36:49 +0300 |
commit | fb550d38768538c56596a8efcafbab89c57e3128 (patch) | |
tree | 0d6f4be9a4de97cca83a349ce986816b924de029 | |
parent | 9259e0b216dc9e8f21a065916f488a2715e8bafb (diff) | |
download | ydb-fb550d38768538c56596a8efcafbab89c57e3128.tar.gz |
YQ-1029: use url encode when compose urls to ydb and clickhouse
ref:4cdd482047a975888e060018c25141c80085b46b
-rw-r--r-- | ydb/core/yq/libs/actors/CMakeLists.txt | 1 | ||||
-rw-r--r-- | ydb/core/yq/libs/actors/database_resolver.cpp | 16 |
2 files changed, 13 insertions, 4 deletions
diff --git a/ydb/core/yq/libs/actors/CMakeLists.txt b/ydb/core/yq/libs/actors/CMakeLists.txt index 8f59f1c60b3..15f5092aae3 100644 --- a/ydb/core/yq/libs/actors/CMakeLists.txt +++ b/ydb/core/yq/libs/actors/CMakeLists.txt @@ -72,6 +72,7 @@ target_link_libraries(yq-libs-actors PUBLIC providers-pq-task_meta providers-s3-provider providers-ydb-provider + library-yql-utils ) target_sources(yq-libs-actors PRIVATE ${CMAKE_SOURCE_DIR}/ydb/core/yq/libs/actors/clusters_from_connections.cpp diff --git a/ydb/core/yq/libs/actors/database_resolver.cpp b/ydb/core/yq/libs/actors/database_resolver.cpp index f13f00157f0..e36f8318367 100644 --- a/ydb/core/yq/libs/actors/database_resolver.cpp +++ b/ydb/core/yq/libs/actors/database_resolver.cpp @@ -3,7 +3,7 @@ #include <ydb/core/yq/libs/events/events.h> #include <ydb/core/yq/libs/common/cache.h> #include <ydb/library/yql/providers/common/db_id_async_resolver/db_async_resolver.h> - +#include <ydb/library/yql/utils/url_builder.h> #include <library/cpp/actors/core/actor_bootstrapped.h> #include <library/cpp/actors/http/http.h> #include <library/cpp/actors/http/http_proxy.h> @@ -311,9 +311,17 @@ private: } try { - TString url = IsIn({NYql::DatabaseType::Ydb, NYql::DatabaseType::DataStreams }, type) ? - ev->Get()->YdbMvpEndpoint + "/database?databaseId=" + databaseId : - ev->Get()->MdbGateway + "/managed-clickhouse/v1/clusters/" + databaseId + "/hosts"; + TString url; + if (IsIn({NYql::DatabaseType::Ydb, NYql::DatabaseType::DataStreams }, type)) { + url = TUrlBuilder(ev->Get()->YdbMvpEndpoint + "/database") + .AddUrlParam("databaseId", databaseId) + .Build(); + } else { + url = TUrlBuilder(ev->Get()->MdbGateway + "/managed-clickhouse/v1/clusters/") + .AddPathComponent(databaseId) + .AddPathComponent("hosts") + .Build(); + } LOG_D("Get '" << url << "'"); NHttp::THttpOutgoingRequestPtr httpRequest = NHttp::THttpOutgoingRequest::CreateRequestGet(url); |