aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgrigoriypisar <grigoriypisar@yandex-team.com>2023-07-20 16:27:04 +0300
committergrigoriypisar <grigoriypisar@yandex-team.com>2023-07-20 16:27:04 +0300
commit5b31f78da1eea0701abbcd8fdf35928c79e5d04e (patch)
tree6cdca4f88bc9c209b7284098af33d4ad5db832a1
parentadfb3c405860b466182de80d8b88036f8218452f (diff)
downloadydb-5b31f78da1eea0701abbcd8fdf35928c79e5d04e.tar.gz
fix url parsing
Fixed url parsing.
-rw-r--r--ydb/core/kqp/proxy_service/kqp_proxy_service.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/ydb/core/kqp/proxy_service/kqp_proxy_service.cpp b/ydb/core/kqp/proxy_service/kqp_proxy_service.cpp
index 7a55322303f..150fa41f327 100644
--- a/ydb/core/kqp/proxy_service/kqp_proxy_service.cpp
+++ b/ydb/core/kqp/proxy_service/kqp_proxy_service.cpp
@@ -105,12 +105,14 @@ TString EncodeSessionId(ui32 nodeId, const TString& id) {
return NOperationId::ProtoToString(opId);
}
-bool isGrpcProtocol(const TString& endpoint) {
+void ParseGrpcEndpoint(const TString& endpoint, TString& address, bool& useSsl) {
TStringBuf scheme;
TStringBuf host;
TStringBuf uri;
NHttp::CrackURL(endpoint, scheme, host, uri);
- return scheme == "grpcs";
+
+ address = ToString(host);
+ useSsl = scheme == "grpcs";
}
class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
@@ -189,8 +191,11 @@ public:
caContent = TUnbufferedFileInput(path).ReadAll();
}
- const TString endpoint = TokenAccessorConfig.GetEndpoint();
- CredentialsFactory = NYql::CreateSecuredServiceAccountCredentialsOverTokenAccessorFactory(endpoint, isGrpcProtocol(endpoint), caContent, TokenAccessorConfig.GetConnectionPoolSize());
+ TString endpointAddress;
+ bool useSsl = false;
+ ParseGrpcEndpoint(TokenAccessorConfig.GetEndpoint(), endpointAddress, useSsl);
+
+ CredentialsFactory = NYql::CreateSecuredServiceAccountCredentialsOverTokenAccessorFactory(endpointAddress, useSsl, caContent, TokenAccessorConfig.GetConnectionPoolSize());
}
NLwTraceMonPage::ProbeRegistry().AddProbesList(LWTRACE_GET_PROBES(KQP_PROVIDER));