Changeset 641
- Timestamp:
- 02/07/07 23:43:48 (2 years ago)
- Files:
-
- cherokee-pyscgi/ChangeLog (modified) (1 diff)
- cherokee-pyscgi/pyscgi/pyscgi.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cherokee-pyscgi/ChangeLog
r518 r641 1 2007-02-07 Alvaro Lopez Ortega <alvaro@alobbs.com> 2 3 * pyscgi/pyscgi.py (SCGIHandler.__init__): It inherits from 4 StreamRequestHandler rather than from BaseRequestHandler. 5 6 2007-01-27 Alvaro Lopez Ortega <alvaro@alobbs.com> 7 8 * pyscgi/pyscgi.py (SCGIHandler.handle): self.handle_request() is 9 now inside a try clause. That method have to be implement by the 10 user, so there is a change of something going wrong, in which case 11 the server should close the in/out descriptiors as well. 12 1 13 2006-12-12 Alvaro Lopez Ortega <alvaro@alobbs.com> 2 14 cherokee-pyscgi/pyscgi/pyscgi.py
r517 r641 37 37 38 38 import SocketServer 39 import traceback 39 40 40 __version__ = '1. 0'41 __version__ = '1.1' 41 42 __author__ = 'Alvaro Lopez Ortega' 42 43 43 44 44 class SCGIHandler (SocketServer. BaseRequestHandler):45 class SCGIHandler (SocketServer.StreamRequestHandler): 45 46 def __init__ (self, request, client_address, server): 46 self.env = {}47 self.post = None48 SocketServer. BaseRequestHandler.__init__ (self, request, client_address, server)47 self.env = {} 48 self.post = None 49 SocketServer.StreamRequestHandler.__init__ (self, request, client_address, server) 49 50 50 51 def __read_netstring_size (self): 51 52 size = "" 52 53 while 1: 53 c = self. input.read(1)54 c = self.rfile.read(1) 54 55 if c == ':': 55 56 break … … 63 64 size = self.__read_netstring_size() 64 65 while size > 0: 65 s = self. input.read(size)66 s = self.rfile.read(size) 66 67 if not s: 67 68 raise IOError, 'Malformed netstring' 68 69 data += s 69 70 size -= len(s) 70 if self. input.read(1) != ',':71 if self.rfile.read(1) != ',': 71 72 raise IOError, 'Missing netstring terminator' 72 73 return data … … 85 86 return 86 87 length = int(self.env['CONTENT_LENGTH']) 87 self.post = self. input.read(length)88 self.post = self.rfile.read(length) 88 89 89 90 def handle (self): 90 self.input = self.request.makefile('r') 91 self.output = self.request.makefile('w') 91 self.__read_env() 92 92 93 self.__read_env() 94 self.handle_request() 95 self.output.close() 96 self.input.close() 93 try: 94 self.handle_request() 95 except: 96 traceback.print_exc() 97 self.request.finish() 98 self.request.close() 97 99 98 100 def handle_request (self): 99 self. output.write("Content-Type: text/plain\r\n\r\n")100 self. output.write("handle_request() should be overridden")101 self.wfile.write("Content-Type: text/plain\r\n\r\n") 102 self.wfile.write("handle_request() should be overridden") 101 103 102 104