コード例 #1
0
 public RemoteLocationProvider()
 {
     RemoteLocation = new RemoteLocation()
     {
         Hosts = UserHostsHelper.UserHosts(HttpContext.Current.Request.ServerVariables)
     };
 }
コード例 #2
0
        public static void UserHosts_Empty()
        {
            // Arrange
            var variables = new NameValueCollection();

            // Act
            var result = UserHostsHelper.UserHosts(variables);

            // Assert
            Assert.Equal(0, result.Length);
        }
コード例 #3
0
        public static void UserHosts_Unique(string hosts)
        {
            // Arrange
            var variables = new NameValueCollection();

            variables.Add("HTTP_X_FORWARDED_FOR", hosts);

            // Act
            var result = UserHostsHelper.UserHosts(variables);

            // Assert
            Assert.Equal(1, result.Length);
            Assert.Equal("127.0.0.1", result[0]);
        }
コード例 #4
0
        public static void UserHosts_Multiple(string hosts)
        {
            // Arrange
            var variables = new NameValueCollection();

            variables.Add("HTTP_X_FORWARDED_FOR", hosts);

            // Act
            var result = UserHostsHelper.UserHosts(variables);

            // Assert
            Assert.Equal(2, result.Length);
            result.ForEach(h => Assert.True(hosts.Contains(h)));
        }
コード例 #5
0
        public static void UserHosts(string header)
        {
            // Arrange
            var variables = new NameValueCollection();

            variables.Add(header, IpNumberHelper.Localhost);

            // Act
            var result = UserHostsHelper.UserHosts(variables);

            // Assert
            Assert.Equal(1, result.Length);
            Assert.Equal(IpNumberHelper.Localhost, result[0]);
        }
コード例 #6
0
 public static string[] UserHosts(this HttpRequest request)
 {
     return(UserHostsHelper.UserHosts(request.ServerVariables));
 }