Exemplo n.º 1
0
        internal static ConfigurationHostSettings GetConfigurationHostSettings(this Uri address)
        {
            if (string.Compare("rabbitmq", address.Scheme, StringComparison.OrdinalIgnoreCase) != 0)
            {
                throw new RabbitMqAddressException("The invalid scheme was specified: " + address.Scheme);
            }

            var hostSettings = new ConfigurationHostSettings
            {
                Host     = address.Host,
                Username = "",
                Password = "",
                Port     = address.IsDefaultPort ? 5672 : address.Port
            };

            if (!string.IsNullOrEmpty(address.UserInfo))
            {
                string[] parts = address.UserInfo.Split(':');
                hostSettings.Username = parts[0];

                if (parts.Length >= 2)
                {
                    hostSettings.Password = parts[1];
                }
            }

            string name = address.AbsolutePath.Substring(1);

            string[] pathSegments = name.Split('/');
            hostSettings.VirtualHost = pathSegments.Length == 2 ? Uri.UnescapeDataString(pathSegments[0]) : "/";

            hostSettings.Heartbeat = address.Query.GetValueFromQueryString("heartbeat", (ushort)0);

            return(hostSettings);
        }
        internal static ConfigurationHostSettings GetConfigurationHostSettings(this Uri address)
        {
            var hostAddress = new RabbitMqHostAddress(address);

            var hostSettings = new ConfigurationHostSettings
            {
                Host        = hostAddress.Host,
                VirtualHost = hostAddress.VirtualHost,
                Username    = "",
                Password    = "",
            };

            if (hostAddress.Port.HasValue)
            {
                hostSettings.Port = hostAddress.Port.Value;
            }

            if (!string.IsNullOrEmpty(address.UserInfo))
            {
                string[] parts = address.UserInfo.Split(':');
                hostSettings.Username = parts[0];

                if (parts.Length >= 2)
                {
                    hostSettings.Password = parts[1];
                }
            }

            hostSettings.Heartbeat = hostAddress.Heartbeat ?? (ushort)0;

            return(hostSettings);
        }
Exemplo n.º 3
0
        public RabbitMqHostBusFactory(ISettingsProvider settingsProvider)
        {
            if (!settingsProvider.TryGetSettings("RabbitMQ", out RabbitMqSettings settings))
            {
                throw new ConfigurationException("The RabbitMQ settings were not available");
            }

            _hostSettings = new ConfigurationHostSettings
            {
                Host        = settings.Host ?? "[::1]",
                Port        = settings.Port ?? 5672,
                VirtualHost = string.IsNullOrWhiteSpace(settings.VirtualHost) ? "/" : settings.VirtualHost.Trim('/'),
                Username    = settings.Username ?? "guest",
                Password    = settings.Password ?? "guest",
                Heartbeat   = settings.Heartbeat ?? 0,
            };

            if (!string.IsNullOrWhiteSpace(settings.ClusterMembers))
            {
                var configurator = new RabbitMqClusterConfigurator();
                foreach (var nodeAddress in settings.ClusterMembers.Split(','))
                {
                    configurator.Node(nodeAddress);
                }

                _hostSettings.EndpointResolver = configurator.GetEndpointResolver();
            }
        }
        internal static ConfigurationHostSettings GetConfigurationHostSettings(this Uri address)
        {
            var hostAddress = new RabbitMqHostAddress(address);

            var hostSettings = new ConfigurationHostSettings
            {
                Host        = hostAddress.Host,
                VirtualHost = hostAddress.VirtualHost,
                Username    = "",
                Password    = ""
            };

            if (hostAddress.Port.HasValue)
            {
                hostSettings.Port = hostAddress.Port.Value;
            }

            if (!string.IsNullOrEmpty(address.UserInfo))
            {
                var parts = address.UserInfo.Split(':');
                hostSettings.Username = UriDecode(parts[0]);

                if (parts.Length >= 2)
                {
                    hostSettings.Password = UriDecode(parts[1]);
                }
            }

            hostSettings.Heartbeat = TimeSpan.FromSeconds(hostAddress.Heartbeat ?? 0);

            return(hostSettings);
        }
 public void IgnoreReply_Https()
 {
     HttpHostSettings x = new ConfigurationHostSettings("replys", "localhost", 80, HttpMethod.Post);
     HttpHostSettings y = new ConfigurationHostSettings("https", "localhost", 80, HttpMethod.Post);
     var result = HttpHostEqualityComparer.Default.Equals(x, y);
     Assert.That(result, Is.EqualTo(true));
 }
Exemplo n.º 6
0
        public void IgnoreReply_Https()
        {
            HttpHostSettings x = new ConfigurationHostSettings("replys", "localhost", 80, HttpMethod.Post);
            HttpHostSettings y = new ConfigurationHostSettings("https", "localhost", 80, HttpMethod.Post);
            var result         = HttpHostEqualityComparer.Default.Equals(x, y);

            Assert.That(result, Is.EqualTo(true));
        }
        public ActiveMqOptionSet()
        {
            _hostSettings = new ConfigurationHostSettings(new Uri("activemq://localhost"));

            Add <string>("h|host:", "The host name of the broker", x => _hostSettings.Host = x);
            Add <int>("port:", "The virtual host to use", value => _hostSettings.Port      = value);
            Add <string>("u|username:"******"Username (if using basic credentials)", value => _hostSettings.Username = value);
            Add <string>("p|password:"******"Password (if using basic credentials)", value => _hostSettings.Password = value);
        }
Exemplo n.º 8
0
 public HttpHostConfigurator(string scheme, string host, int port)
 {
     _settings = new ConfigurationHostSettings
     {
         Scheme = scheme,
         Host   = host,
         Port   = port,
         Method = HttpMethod.Post
     };
 }
Exemplo n.º 9
0
        public void Failover_should_take_precendence_in_uri_construction()
        {
            var settings = new ConfigurationHostSettings(new Uri("activemq://fake-host"))
            {
                Port          = 61616,
                FailoverHosts = new[] { "failover1", "failover2" }
            };

            Assert.That(settings.BrokerAddress, Is.EqualTo(new Uri(
                                                               "activemq:failover:(tcp://failover1:61616/,tcp://failover2:61616/)?wireFormat.tightEncodingEnabled=true&nms.AsyncSend=true")));
        }
Exemplo n.º 10
0
        public void Failover_should_take_precendence_in_uri_construction()
        {
            var settings = new ConfigurationHostSettings()
            {
                Host          = "fake-host",
                Port          = 61616,
                FailoverHosts = new []
                {
                    "failover1",
                    "failover2"
                }
            };

            Assert.That(settings.BrokerAddress, Is.EqualTo(new Uri("activemq:failover:(tcp://failover1:61616/,tcp://failover2:61616/)")));
        }
Exemplo n.º 11
0
        internal static ConfigurationHostSettings GetConfigurationHostSettings(this Uri address)
        {
            short defaultPort = 0;

            switch (address.Scheme.ToLowerInvariant())
            {
            case "rabbitmq":
            case "amqp":
                defaultPort = 5672;
                break;

            case "rabbitmqs":
            case "amqps":
                defaultPort = 5671;
                break;

            default:
                throw new RabbitMqAddressException("The invalid scheme was specified: " + address.Scheme);
            }

            var hostSettings = new ConfigurationHostSettings
            {
                Host     = address.Host,
                Username = "",
                Password = "",
                Port     = address.IsDefaultPort ? defaultPort : address.Port
            };

            if (!string.IsNullOrEmpty(address.UserInfo))
            {
                string[] parts = address.UserInfo.Split(':');
                hostSettings.Username = parts[0];

                if (parts.Length >= 2)
                {
                    hostSettings.Password = parts[1];
                }
            }

            string name = address.AbsolutePath.Substring(1);

            string[] pathSegments = name.Split('/');
            hostSettings.VirtualHost = pathSegments.Length == 2 ? Uri.UnescapeDataString(pathSegments[0]) : "/";

            hostSettings.Heartbeat = address.Query.GetValueFromQueryString("heartbeat", (ushort)0);

            return(hostSettings);
        }
Exemplo n.º 12
0
 public HttpHostConfigurator(string scheme, string host, int port)
 {
     _settings = new ConfigurationHostSettings(scheme, host, port, HttpMethod.Post);
 }
Exemplo n.º 13
0
        internal static ConfigurationHostSettings GetConfigurationHostSettings(this Uri address)
        {
            if (string.Compare("rabbitmq", address.Scheme, StringComparison.OrdinalIgnoreCase) != 0)
                throw new RabbitMqAddressException("The invalid scheme was specified: " + address.Scheme);

            var hostSettings = new ConfigurationHostSettings
            {
                Host = address.Host,
                Username = "",
                Password = "",
                Port = address.IsDefaultPort ? 5672 : address.Port
            };

            if (!string.IsNullOrEmpty(address.UserInfo))
            {
                string[] parts = address.UserInfo.Split(':');
                hostSettings.Username = parts[0];

                if (parts.Length >= 2)
                    hostSettings.Password = parts[1];
            }

            string name = address.AbsolutePath.Substring(1);

            string[] pathSegments = name.Split('/');
            hostSettings.VirtualHost = pathSegments.Length == 2 ? pathSegments[0] : "/";

            hostSettings.Heartbeat = address.Query.GetValueFromQueryString("heartbeat", (ushort)0);

            return hostSettings;
        }
Exemplo n.º 14
0
 public HttpHostConfigurator(string scheme, string host, int port)
 {
     _settings = new ConfigurationHostSettings(scheme, host, port, HttpMethod.Post);
 }