mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-16 02:02:58 -07:00
Update cherrpy to 17.4.2
This commit is contained in:
parent
f28e741ad7
commit
4d6279a626
131 changed files with 15864 additions and 10389 deletions
|
@ -1,23 +1,55 @@
|
|||
"""WSGI server interface (see PEP 333). This adds some CP-specific bits to
|
||||
the framework-agnostic wsgiserver package.
|
||||
"""
|
||||
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
|
||||
from cherrypy import wsgiserver
|
||||
|
||||
|
||||
class CPWSGIServer(wsgiserver.CherryPyWSGIServer):
|
||||
class CPWSGIHTTPRequest(cheroot.server.HTTPRequest):
|
||||
"""Wrapper for cheroot.server.HTTPRequest.
|
||||
|
||||
"""Wrapper for wsgiserver.CherryPyWSGIServer.
|
||||
|
||||
wsgiserver 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 -> wsgiserver.
|
||||
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
|
||||
|
@ -31,17 +63,22 @@ class CPWSGIServer(wsgiserver.CherryPyWSGIServer):
|
|||
None)
|
||||
|
||||
self.wsgi_version = self.server_adapter.wsgi_version
|
||||
s = wsgiserver.CherryPyWSGIServer
|
||||
s.__init__(self, 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,
|
||||
)
|
||||
|
||||
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
|
||||
|
||||
|
@ -50,21 +87,24 @@ class CPWSGIServer(wsgiserver.CherryPyWSGIServer):
|
|||
else:
|
||||
ssl_module = self.server_adapter.ssl_module or 'pyopenssl'
|
||||
if self.server_adapter.ssl_context:
|
||||
adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
|
||||
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_certificate_chain,
|
||||
self.server_adapter.ssl_ciphers)
|
||||
self.ssl_adapter.context = self.server_adapter.ssl_context
|
||||
elif self.server_adapter.ssl_certificate:
|
||||
adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
|
||||
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_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):
|
||||
def error_log(self, msg='', level=20, traceback=False):
|
||||
"""Write given message to the error log."""
|
||||
cherrypy.engine.log(msg, level, traceback)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue