httpVersion = sessionDict.get(constants.HTTP_VERSION, '') return '\r\n'.join([ ('%s 500 Internal Server Error' % httpVersion).strip(), 'Content-Type: text/plain', 'Content-Length: %d' % len(exc_text), '', exc_text ]) def keepAliveTimeout(self, sessionDict): if sessionDict.get(constants.CONNECTION_CLOSE, 1): return -1 else: return Configuration.HTTPKeepAliveTimeout jobGlob = constants.WEB_JOB + '*' HaveConnection.addFunction(_seekTerminus, jobGlob) ######################################################################## # $Log: protocol.py,v $ # Revision 1.3.2.1 2001/09/27 03:36:07 smulloni # new pylibs, work on PyDO, code cleanup. # # Revision 1.3 2001/09/07 16:40:44 smulloni # improved handling of SERVER_NAME # # Revision 1.2 2001/08/28 11:38:47 drew_csillag # now uses normheader # # Revision 1.1.1.1 2001/08/05 15:00:01 drew_csillag # take 2 of import #
from threading import local import SkunkWeb from SkunkWeb.constants import WEB_JOB, CONNECTION from web.protocol import HaveConnection from requestHandler.requestHandler import CleanupRequest SkunkWeb.Context = _ctxt = local() def install(requestData, sessionDict): conn = sessionDict[CONNECTION] _ctxt.connection = sessionDict[CONNECTION] def uninstall(conn, sessionDict): try: del _ctxt.connection except AttributeError: pass glob = "%s*" % WEB_JOB HaveConnection.addFunction(install, glob, 0) CleanupRequest[glob] = uninstall
respp['server'] = 'SkunkWeb %s' % Configuration.SkunkWebVersion resl = ["%s %s" % (httpVersion, status)] for k in respp.keys(): kf=self._fixHeader(k) for v in respp.getheaders(k): resl.append("%s: %s" % (kf, v)) return "%s\r\n\r\n%s" % ("\r\n".join(resl), respp.fp.read()) def marshalException(self, exc_text, sessionDict): res=RequestFailed(constants.WEB_JOB, exc_text, sessionDict) if res: return res else: # dummy up a 500. httpVersion=sessionDict.get(constants.HTTP_VERSION, '') return '\r\n'.join([('%s 500 Internal Server Error' % httpVersion).strip(), 'Content-Type: text/plain', 'Content-Length: %d' % len(exc_text), '', exc_text]) def keepAliveTimeout(self, sessionDict): if sessionDict.get(constants.CONNECTION_CLOSE, 1): return -1 else: return Configuration.HTTPKeepAliveTimeout jobGlob=constants.WEB_JOB+'*' HaveConnection.addFunction(_seekTerminus, jobGlob)
from threading import local import SkunkWeb from SkunkWeb.constants import WEB_JOB, CONNECTION from web.protocol import HaveConnection from requestHandler.requestHandler import CleanupRequest SkunkWeb.Context = _ctxt = local() def install(requestData, sessionDict): conn = sessionDict[CONNECTION] _ctxt.connection = sessionDict[CONNECTION] def uninstall(conn, sessionDict): try: del _ctxt.connection except AttributeError: pass glob = '%s*' % WEB_JOB HaveConnection.addFunction(install, glob, 0) CleanupRequest[glob] = uninstall