Esempio n. 1
0
    def test_http_get_host_with_x_forwarded_host(self):
        old_USE_X_FORWARDED_HOST = settings.USE_X_FORWARDED_HOST
        try:
            settings.USE_X_FORWARDED_HOST = True

            # Check if X_FORWARDED_HOST is provided.
            request = HttpRequest()
            request.META = {
                "HTTP_X_FORWARDED_HOST": "forward.com",
                "HTTP_HOST": "example.com",
                "SERVER_NAME": "internal.com",
                "SERVER_PORT": 80,
            }
            # X_FORWARDED_HOST is obeyed.
            self.assertEqual(request.get_host(), "forward.com")

            # Check if X_FORWARDED_HOST isn't provided.
            request = HttpRequest()
            request.META = {"HTTP_HOST": "example.com", "SERVER_NAME": "internal.com", "SERVER_PORT": 80}
            self.assertEqual(request.get_host(), "example.com")

            # Check if HTTP_HOST isn't provided.
            request = HttpRequest()
            request.META = {"SERVER_NAME": "internal.com", "SERVER_PORT": 80}
            self.assertEqual(request.get_host(), "internal.com")

            # Check if HTTP_HOST isn't provided, and we're on a nonstandard port
            request = HttpRequest()
            request.META = {"SERVER_NAME": "internal.com", "SERVER_PORT": 8042}
            self.assertEqual(request.get_host(), "internal.com:8042")

        finally:
            settings.USE_X_FORWARDED_HOST = old_USE_X_FORWARDED_HOST
Esempio n. 2
0
    def test_httprequest_location(self):
        request = HttpRequest()
        self.assertEqual(
            request.build_absolute_uri(location="https://www.example.com/asdf"), "https://www.example.com/asdf"
        )

        request.get_host = lambda: "www.example.com"
        request.path = ""
        self.assertEqual(
            request.build_absolute_uri(location="/path/with:colons"), "http://www.example.com/path/with:colons"
        )