class ApplicationError(Exception): class EndResponse(Exception): class Application(ConfigurableForServerSidePath, Object): ## Init ## def __init__(self, server=None, transactionClass=None, sessionClass=None, requestClass=None, responseClass=None, exceptionHandlerClass=None, contexts=None, useSessionSweeper=1): ## TaskManager ## End TaskManager ## Contexts ## End Contexts ## Session store ## End Session store def initVersions(self): ## Task access def taskManager(self): ## Session sweep task def startSessionSweeper(self): ## Shutdown def shutDown(self): def addShutDownHandler(self, func): ## Config ## def defaultConfig(self): def configFilename(self): def configReplacementValues(self): ## Versions ## def version(self): ## @@ 2000-05-01 ce: Maybe this could be a setting 'AppVersion' def webwareVersion(self): def webwareVersionString(self): def webKitVersion(self): def webKitVersionString(self): ## Dispatching Requests ## def dispatchRawRequest(self, newRequestDict, strmOut): def dispatchRequest(self, request, strmOut): def handleBadURL(self, transaction): def handleDeficientDirectoryURL(self, transaction): def isSessionIdProblematic(self, request, debug=0): def handleInvalidSession(self, transaction): def handleMissingPathSession(self,transaction): def handleGoodURL(self, transaction): def processURLPath(self, req, URL): def forward(self, trans, URL): def forwardRequest(self, trans, URL): def includeURL(self, trans, URL): def forwardRequestFast(self, trans, url): def callMethodOfServlet(self, trans, URL, method, *args, **kwargs): ## Transactions ## def awake(self, transaction): def respond(self, transaction): def sleep(self, transaction): ## Sessions ## def session(self, sessionId, default=NoDefault): def hasSession(self, sessionId): def sessions(self): ## Misc Access ## def server(self): def serverSidePath(self, path=None): def webwarePath(self): def webKitPath(self): def name(self): def transactionClass(self): def setTransactionClass(self, newClass): def responseClass(self, newClass): def setResponseClass(self, newClass): ## Contexts ## def context(self, name, default=NoDefault): def hasContext(self, name): def contexts(self): def addContext(self, name, dir): ## Factory access ## def addServletFactory(self, factory): def factories(self): ## Activity Log ## def writeActivityLog(self, transaction): ## Utilities/Hooks ## def createRequestForDict(self, newRequestDict): def createTransactionForRequest(self, request): def createResponseInTransaction(self, transaction, strmOut): def createSessionForTransaction(self, transaction): def getServlet(self, transaction, path, cache=None): #send the cache if you want the cache info set def returnInstance(self, transaction, path): def newServletCacheItem(self,key,item): def flushServletCache(self): def createServletInTransaction(self, transaction): def handleExceptionInTransaction(self, excInfo, transaction): def handleException(self, excInfo=None): def filenamesForBaseName(self, baseName): def defaultContextNameAndPath(self): def serverSideInfoForRequest(self, request): def findDirectoryIndex(self, ssPath, debug=0): def processExtraURLPath(self, ssPath, urlPath, debug=0): ## Now test to see if the next element is a file without an extension def writeExceptionReport(self, handler): ## New Path Algorithm ## def serverSideInfoForRequestNewAlgorithm(self, request): def findContext(self, fullPath): def findServlet(self, contextPath, urlPath): def filenamesForBaseNameNew(self, baseName): ## Deprecated ## def serverSidePathForRequest(self, request, debug=0): def serverDir(self): def isdir(s): def noslash(s): def main(requestDict):