/opt/imh-python/lib/python3.9/site-packages/cherrypy
NameSizeModeActions
lib/-0755rm
process/-0755rm
scaffold/-0755rm
test/-0755rm
tutorial/-0755rm
__pycache__/-0755rm
daemon.py39500644editdlrm
favicon.ico14060644editdlrm
_cpchecker.py145660644editdlrm
_cpcompat.py19920644editdlrm
_cpconfig.py96470644editdlrm
_cpdispatch.py253920644editdlrm
_cperror.py230700644editdlrm
_cplogging.py164020644editdlrm
_cpmodpy.py111410644editdlrm
_cpnative_server.py66770644editdlrm
_cpreqbody.py363820644editdlrm
_cprequest.py343130644editdlrm
_cpserver.py83200644editdlrm
_cptools.py181630644editdlrm
_cptree.py109770644editdlrm
_cpwsgi.py163940644editdlrm
_cpwsgi_server.py41870644editdlrm
_helper.py116530644editdlrm
_json.py4400644editdlrm
__init__.py112850644editdlrm
__main__.py1070644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/cherrypy/_cpwsgi_server.py (4187B)
""" WSGI server interface (see PEP 333). This adds some CP-specific bits to the framework-agnostic cheroot package. """ import sys import cheroot.wsgi import cheroot.server import cherrypy class CPWSGIHTTPRequest(cheroot.server.HTTPRequest): """Wrapper for cheroot.server.HTTPRequest. This is a layer, which preserves URI parsing mode like it which was before Cheroot v5.8.0. """ def __init__(self, server, conn): """Initialize HTTP request container instance. Args: server (cheroot.server.HTTPServer): web server object receiving this request conn (cheroot.server.HTTPConnection): HTTP connection object for this request """ super(CPWSGIHTTPRequest, self).__init__( server, conn, proxy_mode=True ) class CPWSGIServer(cheroot.wsgi.Server): """Wrapper for cheroot.wsgi.Server. cheroot has been designed to not reference CherryPy in any way, so that it can be used in other frameworks and applications. Therefore, we wrap it here, so we can set our own mount points from cherrypy.tree and apply some attributes from config -> cherrypy.server -> wsgi.Server. """ fmt = 'CherryPy/{cherrypy.__version__} {cheroot.wsgi.Server.version}' version = fmt.format(**globals()) def __init__(self, server_adapter=cherrypy.server): """Initialize CPWSGIServer instance. Args: server_adapter (cherrypy._cpserver.Server): ... """ self.server_adapter = server_adapter self.max_request_header_size = ( self.server_adapter.max_request_header_size or 0 ) self.max_request_body_size = ( self.server_adapter.max_request_body_size or 0 ) server_name = (self.server_adapter.socket_host or self.server_adapter.socket_file or None) self.wsgi_version = self.server_adapter.wsgi_version super(CPWSGIServer, self).__init__( server_adapter.bind_addr, cherrypy.tree, self.server_adapter.thread_pool, server_name, max=self.server_adapter.thread_pool_max, request_queue_size=self.server_adapter.socket_queue_size, timeout=self.server_adapter.socket_timeout, shutdown_timeout=self.server_adapter.shutdown_timeout, accepted_queue_size=self.server_adapter.accepted_queue_size, accepted_queue_timeout=self.server_adapter.accepted_queue_timeout, peercreds_enabled=self.server_adapter.peercreds, peercreds_resolve_enabled=self.server_adapter.peercreds_resolve, ) self.ConnectionClass.RequestHandlerClass = CPWSGIHTTPRequest self.protocol = self.server_adapter.protocol_version self.nodelay = self.server_adapter.nodelay if sys.version_info >= (3, 0): ssl_module = self.server_adapter.ssl_module or 'builtin' else: ssl_module = self.server_adapter.ssl_module or 'pyopenssl' if self.server_adapter.ssl_context: adapter_class = cheroot.server.get_ssl_adapter_class(ssl_module) self.ssl_adapter = adapter_class( self.server_adapter.ssl_certificate, self.server_adapter.ssl_private_key, self.server_adapter.ssl_certificate_chain, self.server_adapter.ssl_ciphers) self.ssl_adapter.context = self.server_adapter.ssl_context elif self.server_adapter.ssl_certificate: adapter_class = cheroot.server.get_ssl_adapter_class(ssl_module) self.ssl_adapter = adapter_class( self.server_adapter.ssl_certificate, self.server_adapter.ssl_private_key, self.server_adapter.ssl_certificate_chain, self.server_adapter.ssl_ciphers) self.stats['Enabled'] = getattr( self.server_adapter, 'statistics', False) def error_log(self, msg='', level=20, traceback=False): """Write given message to the error log.""" cherrypy.engine.log(msg, level, traceback)