Пример #1
0
        public static bool TryParse(string url, out ClientChannelConfig result,
                                    out string message)
        {
            result  = new ClientChannelConfig();
            message = null;

            Uri uri = new Uri(url, UriKind.Absolute);

            if (uri.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase))
            {
                result.UseTls = true;
            }
            else if (uri.Scheme.Equals("http", StringComparison.InvariantCultureIgnoreCase))
            {
                result.UseTls = false;
            }
            else
            {
                message = $"Invalid address: {url}. It must start with http or https.";
                return(false);
            }

            if (string.IsNullOrEmpty(uri.Host))
            {
                message = $"Invalid address: {url}. Host name is empty.";
                return(false);
            }

            result.HostName = uri.Host;

            result.Port = uri.Port;

            return(true);
        }
Пример #2
0
 protected MicroserviceClientBase([NotNull] ClientChannelConfig channelConfig)
     : this(channelConfig.HostName, channelConfig.Port, channelConfig.UseTls,
            channelConfig.ClientCertificate)
 {
 }