Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 358

Show
Ignore:
Timestamp:
06/22/05 01:58:51
Author:
fumanchu
Message:

Fix for ticket #184

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/_cpwsgiserver.py

    r315 r358  
    3838import time 
    3939import traceback 
     40 
    4041 
    4142class HTTPRequest(object): 
     
    6465        self.environ["wsgi.run_once"] = False 
    6566        request_line = self.rfile.readline() 
     67        if not request_line: 
     68            self.ready = False 
     69            return 
    6670        method,path,version = request_line.strip().split(" ", 2) 
    6771        if "?" in path: 
     
    121125        self.wfile.flush() 
    122126    def terminate(self): 
    123         if not self.sent_headers: 
     127        if self.ready and not self.sent_headers: 
    124128            self.sent_headers = True 
    125129            self.send_headers() 
     
    140144        while self.server._running: 
    141145            request = self.server.requests.get() 
    142             if request == _SHUTDOWNREQUEST: 
     146            if request is _SHUTDOWNREQUEST: 
    143147                return 
    144148             
     
    146150                try: 
    147151                    request.parse_request() 
    148                     response = self.server.wsgi_app(request.environ, 
    149                                                     request.start_response) 
    150                     for line in response: 
    151                         request.write(line) 
     152                    if request.ready: 
     153                        response = self.server.wsgi_app(request.environ, 
     154                                                        request.start_response) 
     155                        for line in response: 
     156                            request.write(line) 
    152157                except: 
    153158                    traceback.print_exc() 

Hosted by WebFaction

Log in as guest/cpguest to create tickets