Skip to content

Commit 18a777c

Browse files
committed
Add function which gets port from configuration
1 parent a9ff296 commit 18a777c

File tree

3 files changed

+12
-10
lines changed

3 files changed

+12
-10
lines changed

programs/client/Client.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -486,13 +486,9 @@ void Client::connect()
486486
{
487487
DB::DNSResolver::instance().resolveHost(hosts_ports[attempted_address_index].host);
488488
}
489-
bool is_secure = config().getBool("secure", false);
490-
String tcp_port_config_key = is_secure ? "tcp_port_secure" : "tcp_port";
491-
UInt16 default_port = config().getInt("port",
492-
config().getInt(tcp_port_config_key,
493-
is_secure ? DBMS_DEFAULT_SECURE_PORT : DBMS_DEFAULT_PORT));
489+
UInt16 default_port = ConnectionParameters::getPortFromConfig(config());
494490
connection_parameters = ConnectionParameters(config(), hosts_ports[0].host,
495-
hosts_ports[0].port.value_or(default_port));
491+
hosts_ports[0].port.value_or(default_port));
496492

497493
String server_name;
498494
UInt64 server_version_major = 0;

src/Client/ConnectionParameters.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,15 @@ ConnectionParameters::ConnectionParameters(const Poco::Util::AbstractConfigurati
6969
}
7070

7171
ConnectionParameters::ConnectionParameters(const Poco::Util::AbstractConfiguration & config)
72+
{
73+
ConnectionParameters(config, config.getString("host", "localhost"), getPortFromConfig(config));
74+
}
75+
76+
int ConnectionParameters::getPortFromConfig(const Poco::Util::AbstractConfiguration & config)
7277
{
7378
bool is_secure = config.getBool("secure", false);
74-
std::string connection_host = config.getString("host", "localhost");
75-
int connection_port = config.getInt("port",
76-
config.getInt(is_secure ? "tcp_port_secure" : "tcp_port", is_secure ? DBMS_DEFAULT_SECURE_PORT : DBMS_DEFAULT_PORT));
77-
ConnectionParameters(config, connection_host, connection_port);
79+
return config.getInt("port",
80+
config.getInt(is_secure ? "tcp_port_secure" : "tcp_port",
81+
is_secure ? DBMS_DEFAULT_SECURE_PORT : DBMS_DEFAULT_PORT));
7882
}
7983
}

src/Client/ConnectionParameters.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ struct ConnectionParameters
2525
ConnectionParameters() {}
2626
ConnectionParameters(const Poco::Util::AbstractConfiguration & config);
2727
ConnectionParameters(const Poco::Util::AbstractConfiguration & config, std::string host, int port);
28+
29+
static int getPortFromConfig(const Poco::Util::AbstractConfiguration & config);
2830
};
2931

3032
}

0 commit comments

Comments
 (0)