MCPcopy
hub / github.com/cherrypy/cherrypy / testProxy

Method testProxy

cherrypy/test/test_proxy.py:71–145  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

69 cherrypy.tree.mount(Root(sn), sn)
70
71 def testProxy(self):
72 self.getPage('/')
73 self.assertHeader('Location',
74 '%s://www.mydomain.test%s/dummy' %
75 (self.scheme, self.prefix()))
76
77 # Test X-Forwarded-Host (Apache 1.3.33+ and Apache 2)
78 self.getPage(
79 '/', headers=[('X-Forwarded-Host', 'http://www.example.test')])
80 self.assertHeader('Location', 'http://www.example.test/dummy')
81 self.getPage('/', headers=[('X-Forwarded-Host', 'www.example.test')])
82 self.assertHeader('Location', '%s://www.example.test/dummy' %
83 self.scheme)
84 # Test multiple X-Forwarded-Host headers
85 self.getPage('/', headers=[
86 ('X-Forwarded-Host', 'http://www.example.test, www.cherrypy.test'),
87 ])
88 self.assertHeader('Location', 'http://www.example.test/dummy')
89
90 # Test X-Forwarded-For (Apache2)
91 self.getPage('/remoteip',
92 headers=[('X-Forwarded-For', '192.168.0.20')])
93 self.assertBody('192.168.0.20')
94 # Fix bug #1268
95 self.getPage('/remoteip',
96 headers=[
97 ('X-Forwarded-For', '67.15.36.43, 192.168.0.20')
98 ])
99 self.assertBody('67.15.36.43')
100
101 # Test X-Host (lighttpd; see https://trac.lighttpd.net/trac/ticket/418)
102 self.getPage('/xhost', headers=[('X-Host', 'www.example.test')])
103 self.assertHeader('Location', '%s://www.example.test/blah' %
104 self.scheme)
105
106 # Test X-Forwarded-Proto (lighttpd)
107 self.getPage('/base', headers=[('X-Forwarded-Proto', 'https')])
108 self.assertBody('https://www.mydomain.test')
109
110 # Test X-Forwarded-Ssl (webfaction?)
111 self.getPage('/ssl', headers=[('X-Forwarded-Ssl', 'on')])
112 self.assertBody('https://www.mydomain.test')
113
114 # Test cherrypy.url()
115 for sn in script_names:
116 # Test the value inside requests
117 self.getPage(sn + '/newurl')
118 self.assertBody(
119 "Browse to <a href='%s://www.mydomain.test" % self.scheme +
120 sn + "/this/new/page'>this page</a>.")
121 self.getPage(sn + '/newurl', headers=[('X-Forwarded-Host',
122 'http://www.example.test')])
123 self.assertBody("Browse to <a href='http://www.example.test" +
124 sn + "/this/new/page'>this page</a>.")
125
126 # Test the value outside requests
127 port = ''
128 if self.scheme == 'http' and self.PORT != 80:

Callers

nothing calls this directly

Calls 2

getPageMethod · 0.80
prefixMethod · 0.80

Tested by

no test coverage detected