diff options
| author | Tres Seaver <tseaver@palladion.com> | 2018-03-09 12:26:28 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-09 12:26:28 -0500 |
| commit | 396e5339a6d21c9ae122c7a810fdc33bf45e4a40 (patch) | |
| tree | abd46eab19f13bd402cc7f4aeedf51aa52a69b90 | |
| parent | d3edffe1efb6126c028d2e351908daf7ad30be60 (diff) | |
| parent | 7cf1a5d2ba1f963ba84b0d8196322476b0fe5ec8 (diff) | |
| download | pyramid-396e5339a6d21c9ae122c7a810fdc33bf45e4a40.tar.gz pyramid-396e5339a6d21c9ae122c7a810fdc33bf45e4a40.tar.bz2 pyramid-396e5339a6d21c9ae122c7a810fdc33bf45e4a40.zip | |
Merge pull request #3235 from heron182/3195_cherrypy_import
Prefer standalone 'cheroot' to deprecated 'cherrypy.wsgiserver'.
| -rw-r--r-- | CHANGES.rst | 4 | ||||
| -rw-r--r-- | CONTRIBUTORS.txt | 2 | ||||
| -rw-r--r-- | pyramid/scripts/pserve.py | 20 |
3 files changed, 20 insertions, 6 deletions
diff --git a/CHANGES.rst b/CHANGES.rst index 482610319..7a8fa31f2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -21,6 +21,10 @@ Features instead of ``pyramid.util.Request``. See https://github.com/Pylons/pyramid/pull/3129 +- In ``cherrypy_server_runner``, prefer imports from the ``cheroot`` package over the legacy + imports from `cherrypy.wsgiserver`. + See https://github.com/Pylons/pyramid/pull/3235 + Bug Fixes --------- diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 83469c14c..b6dbcff2c 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -314,3 +314,5 @@ Contributors - Lars Blumberg, 2017/08/14 - Deneys Maartens, 2017/11/03 + +- Heron Rossi, 2018/03/08 diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index f7d094980..8ee6e1467 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -341,18 +341,26 @@ def cherrypy_server_runner( if var is not None: kwargs[var_name] = int(var) - from cherrypy import wsgiserver + try: + from cheroot.wsgi import Server as WSGIServer + except ImportError: + from cherrypy.wsgiserver import CherryPyWSGIServer as WSGIServer - server = wsgiserver.CherryPyWSGIServer(bind_addr, app, - server_name=server_name, **kwargs) + server = WSGIServer(bind_addr, app, + server_name=server_name, **kwargs) if ssl_pem is not None: if PY2: server.ssl_certificate = server.ssl_private_key = ssl_pem else: # creates wsgiserver.ssl_builtin as side-effect - wsgiserver.get_ssl_adapter_class() - server.ssl_adapter = wsgiserver.ssl_builtin.BuiltinSSLAdapter( - ssl_pem, ssl_pem) + try: + from cheroot.server import get_ssl_adapter_class + from cheroot.ssl.builtin import BuiltinSSLAdapter + except ImportError: + from cherrypy.wsgiserver import get_ssl_adapter_class + from cherrypy.wsgiserver.ssl_builtin import BuiltinSSLAdapter + get_ssl_adapter_class() + server.ssl_adapter = BuiltinSSLAdapter(ssl_pem, ssl_pem) if protocol_version: server.protocol = protocol_version |
