Пример #1
0
        public void Should_Figure_Out_The_Correct_Host()
        {
            var request = new Request(
                new MockRequest().EnvironmentFor("/",
                                                 new Hash {
                { "HTTP_HOST", "www2.example.org" }
            }));

            Assert.AreEqual("www2.example.org", request.Host);

            request = new Request(
                new MockRequest().EnvironmentFor("/",
                                                 new Hash {
                { "SERVER_NAME", "example.org" }, { "SERVER_PORT", "9292" }
            }));

            Assert.AreEqual("example.org", request.Host);

            request = new Request(
                new MockRequest().EnvironmentFor("/",
                                                 new Hash {
                { "HTTP_HOST", "localhost:81" }, { "HTTP_X_FORWARDED_HOST", "example.org:9292" }
            }));

            Assert.AreEqual("example.org", request.Host);

            var env = new MockRequest().EnvironmentFor("/",
                                                       new Hash {
                { "SERVER_ADDR", "192.168.1.1" }, { "SERVER_PORT", "9292" }
            });

            env.Remove("SERVER_NAME");
            request = new Request(env);
            Assert.AreEqual("192.168.1.1", request.Host);

            env = new MockRequest().EnvironmentFor("/");
            env.Remove("SERVER_NAME");
            request = new Request(env);

            Assert.AreEqual(string.Empty, request.Host);
        }