@@ -125,9 +125,9 @@ class TSessionInfo {
125125
126126}; // TSessionInfo
127127
128- struct TCredentialsKey : std::tuple<TString, TString, TString> {
129- explicit TCredentialsKey (const TString& endpoint, const TString& database, const TString& user)
130- : std::tuple<TString, TString, TString>(endpoint, database, user)
128+ struct TCredentialsKey : std::tuple<TString, TString, bool , TString> {
129+ explicit TCredentialsKey (const TString& endpoint, const TString& database, bool ssl, const TString& user)
130+ : std::tuple<TString, TString, bool, TString>(endpoint, database, ssl , user)
131131 {
132132 }
133133
@@ -139,12 +139,20 @@ struct TCredentialsKey: std::tuple<TString, TString, TString> {
139139 return std::get<1 >(*this );
140140 }
141141
142+ bool EnableSsl () const {
143+ return std::get<2 >(*this );
144+ }
145+
142146 static TCredentialsKey FromParams (const NKikimrReplication::TConnectionParams& params) {
147+ const auto & endpoint = params.GetEndpoint ();
148+ const auto & database = params.GetDatabase ();
149+ const bool ssl = params.GetEnableSsl ();
150+
143151 switch (params.GetCredentialsCase ()) {
144152 case NKikimrReplication::TConnectionParams::kStaticCredentials :
145- return TCredentialsKey (params. GetEndpoint (), params. GetDatabase () , params.GetStaticCredentials ().GetUser ());
153+ return TCredentialsKey (endpoint, database, ssl , params.GetStaticCredentials ().GetUser ());
146154 case NKikimrReplication::TConnectionParams::kOAuthToken :
147- return TCredentialsKey (params. GetEndpoint (), params. GetDatabase (), params.GetOAuthToken ().GetToken () /* TODO */ );
155+ return TCredentialsKey (endpoint, database, ssl, params.GetOAuthToken ().GetToken ());
148156 default :
149157 Y_ABORT (" Unexpected credentials" );
150158 }
@@ -155,7 +163,7 @@ struct TCredentialsKey: std::tuple<TString, TString, TString> {
155163} // NKikimr::NReplication::NService
156164
157165template <>
158- struct THash <NKikimr::NReplication::NService::TCredentialsKey> : THash<std::tuple<TString, TString, TString>> {};
166+ struct THash <NKikimr::NReplication::NService::TCredentialsKey> : THash<std::tuple<TString, TString, bool , TString>> {};
159167
160168namespace NKikimr ::NReplication {
161169
@@ -212,7 +220,7 @@ class TReplicationService: public TActorBootstrapped<TReplicationService> {
212220 const TActorId& GetOrCreateYdbProxy (TCredentialsKey&& key, Args&&... args) {
213221 auto it = YdbProxies.find (key);
214222 if (it == YdbProxies.end ()) {
215- auto ydbProxy = Register (CreateYdbProxy (key.Endpoint (), key.Database (), std::forward<Args>(args)...));
223+ auto ydbProxy = Register (CreateYdbProxy (key.Endpoint (), key.Database (), key. EnableSsl (), std::forward<Args>(args)...));
216224 auto res = YdbProxies.emplace (std::move (key), std::move (ydbProxy));
217225 Y_ABORT_UNLESS (res.second );
218226 it = res.first ;
0 commit comments