(self, host=None, port=None)
| 126 | self.finish() |
| 127 | |
| 128 | def forward(self, host=None, port=None): |
| 129 | try: |
| 130 | url = self.request.uri |
| 131 | |
| 132 | body = self.request.body |
| 133 | |
| 134 | if not body: |
| 135 | body = None |
| 136 | |
| 137 | httpclient.AsyncHTTPClient().fetch( |
| 138 | httpclient.HTTPRequest( |
| 139 | url=url, |
| 140 | method=self.request.method, |
| 141 | body=body, |
| 142 | headers=self.request.headers, |
| 143 | follow_redirects=False, |
| 144 | validate_cert=False, |
| 145 | proxy_host=host, |
| 146 | proxy_port=port), |
| 147 | self.handle_response) |
| 148 | |
| 149 | except httpclient.HTTPError as e: |
| 150 | logger.debug("tornado signalled HTTPError {}".format(e)) |
| 151 | self.set_status(500) |
| 152 | self.finish() |
| 153 | except: |
| 154 | self.set_status(500) |
| 155 | self.write("Internal server error:\n" + |
| 156 | ''.join(traceback.format_exception(*sys.exc_info()))) |
| 157 | self.finish() |
| 158 | |
| 159 | |
| 160 | def make_app(): |
no test coverage detected