Changeset 1834
- Timestamp:
- 11/20/07 23:10:32
- Files:
-
- trunk/cherrypy/_cprequest.py (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/_cprequest.py
r1832 r1834 417 417 True once the close method has been called, False otherwise.""" 418 418 419 stage = None 420 stage__doc = """ 421 A string containing the stage reached in the request-handling process. 422 This is useful when debugging a live server with hung requests.""" 423 419 424 namespaces = _cpconfig.NamespaceSet( 420 425 **{"hooks": hooks_namespace, … … 445 450 # Put a *copy* of the class namespaces into self. 446 451 self.namespaces = self.namespaces.copy() 452 453 self.stage = None 447 454 448 455 def close(self): … … 450 457 if not self.closed: 451 458 self.closed = True 459 self.stage = 'on_end_request' 452 460 self.hooks.run('on_end_request') 461 self.stage = 'close' 453 462 454 463 def run(self, method, path, query_string, req_protocol, headers, rfile): … … 470 479 471 480 """ 472 481 self.stage = 'run' 473 482 try: 474 483 self.error_response = cherrypy.HTTPError(500).set_response … … 511 520 self.path_info = pi = path[len(self.script_name):] 512 521 522 self.stage = 'respond' 513 523 self.respond(pi) 514 524 … … 550 560 551 561 # Get the 'Host' header, so we can HTTPRedirect properly. 562 self.stage = 'process_headers' 552 563 self.process_headers() 553 564 … … 555 566 self.hooks = self.__class__.hooks.copy() 556 567 self.toolmaps = {} 568 self.stage = 'get_resource' 557 569 self.get_resource(path_info) 558 570 self.namespaces(self.config) 559 571 572 self.stage = 'on_start_resource' 560 573 self.hooks.run('on_start_resource') 561 574 … … 564 577 self.process_request_body = False 565 578 579 self.stage = 'before_request_body' 566 580 self.hooks.run('before_request_body') 567 581 if self.process_request_body: 568 582 self.process_body() 569 583 584 self.stage = 'before_handler' 570 585 self.hooks.run('before_handler') 571 586 if self.handler: 587 self.stage = 'handler' 572 588 cherrypy.response.body = self.handler() 573 589 590 self.stage = 'before_finalize' 574 591 self.hooks.run('before_finalize') 575 592 cherrypy.response.finalize() 576 593 except (cherrypy.HTTPRedirect, cherrypy.HTTPError), inst: 577 594 inst.set_response() 595 self.stage = 'before_finalize (HTTPError)' 578 596 self.hooks.run('before_finalize') 579 597 cherrypy.response.finalize() 580 598 finally: 599 self.stage = 'on_end_resource' 581 600 self.hooks.run('on_end_resource') 582 601 except self.throws:

