def handle_one_response(self):
self.time_start = time.time()
self.status = None
self.headers_sent = False
self.result = None
self.response_use_chunked = False
self.response_length = 0
try:
try:
self.run_application()
except GreenletExit:
raise
except Exception:
traceback.print_exc()
sys.exc_clear()
try:
args = (getattr(self, 'server', ''),
getattr(self, 'requestline', ''),
getattr(self, 'client_address', ''),
getattr(self, 'application', ''))
msg = '%s: Failed to handle request:\n request = %s from %s\n application = %s\n\n' % args
sys.stderr.write(msg)
except Exception:
sys.exc_clear()
if not self.response_length:
self.start_response(_INTERNAL_ERROR_STATUS, _INTERNAL_ERROR_HEADERS)
self.write(_INTERNAL_ERROR_BODY)
finally:
if hasattr(self.result, 'close'):
self.result.close()
self.wsgi_input._discard()
self.time_finish = time.time()
self.log_request()
评论列表
文章目录