NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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)