in src/DotPulsar/Internal/ConnectionPool.cs [114:134]
private string GetBrokerServiceUrl(CommandLookupTopicResponse response)
{
var hasBrokerServiceUrl = !string.IsNullOrEmpty(response.BrokerServiceUrl);
var hasBrokerServiceUrlTls = !string.IsNullOrEmpty(response.BrokerServiceUrlTls);
switch (_encryptionPolicy)
{
case EncryptionPolicy.EnforceEncrypted:
if (!hasBrokerServiceUrlTls)
throw new ConnectionSecurityException("Cannot enforce encrypted connections. The lookup topic response from broker gave no secure alternative.");
return response.BrokerServiceUrlTls;
case EncryptionPolicy.EnforceUnencrypted:
if (!hasBrokerServiceUrl)
throw new ConnectionSecurityException("Cannot enforce unencrypted connections. The lookup topic response from broker gave no unsecure alternative.");
return response.BrokerServiceUrl;
case EncryptionPolicy.PreferEncrypted:
return hasBrokerServiceUrlTls ? response.BrokerServiceUrlTls : response.BrokerServiceUrl;
default:
return hasBrokerServiceUrl ? response.BrokerServiceUrl : response.BrokerServiceUrlTls;
}
}