httpServer.py (2427B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\script\net\httpServer.py 2 import logging 3 import os 4 import blue 5 import cherrypy 6 import stacklesslib 7 from carbon.common.script.net.httpAuth import AuthController, Require 8 from carbon.common.script.net.httpApps import ServerPageHandler, PolarisController, NodeController, MapController 9 10 class StacklessServing(stacklesslib.util.local): 11 request = cherrypy._cprequest.Request(cherrypy._httputil.Host('127.0.0.1', 80), cherrypy._httputil.Host('127.0.0.1', 1111)) 12 response = cherrypy._cprequest.Response() 13 14 def load(self, request, response): 15 self.request = request 16 self.response = response 17 18 def clear(self): 19 self.__dict__.clear() 20 21 22 cherrypy.serving = StacklessServing() 23 24 def InitializeEspApp(): 25 from eveprefs import prefs 26 cherrypy.sm = sm 27 cherrypy.prefs = prefs 28 app = cherrypy.tree.mount(ServerPageRoot(), '') 29 logFolder = blue.paths.ResolvePathForWriting(u'cache:/cherryLogs') 30 if not os.path.exists(logFolder): 31 os.mkdir(logFolder) 32 logFileName = os.path.join(logFolder, 'cherrySP_%s' % os.getpid()) 33 logFileHandler = logging.handlers.TimedRotatingFileHandler(logFileName, 'midnight') 34 app.log.access_log.addHandler(logFileHandler) 35 app.log.access_log.propagate = False 36 return cherrypy.tree 37 38 39 class ServerPageRoot(ServerPageHandler): 40 _cp_config = {'tools.staticdir.on': True, 41 'tools.staticdir.dir': '/assets', 42 'tools.sessions.on': True, 43 'tools.auth.on': True, 44 'tools.gzip.on': True, 45 'tools.gzip.mime_types': ['text/html', 46 'text/plain', 47 'text/javascript', 48 'text/css'], 49 'server.environment': 'production', 50 'tools.sessions.debug': False, 51 'tools.sessions.timeout': 120, 52 'request.show_tracebacks': True, 53 'request.show_mismatched_params': False} 54 auth = AuthController() 55 polaris = PolarisController() 56 node = NodeController() 57 map = MapController() 58 cache = cherrypy.tools.staticdir.handler(section='/cache', dir=blue.paths.ResolvePath(u'cache:/')) 59 60 def __init__(self): 61 pass 62 63 @cherrypy.expose 64 def index(self): 65 raise cherrypy.HTTPRedirect('default.py') 66 67 @cherrypy.expose 68 @Require() 69 def default(self, *args, **kwargs): 70 return self.Handle(*args, **kwargs)