summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lazar <tomster@pyfidelity.com>2013-08-15 16:43:46 +0200
committerTom Lazar <tomster@pyfidelity.com>2013-08-15 16:43:46 +0200
commitd6e8b86723d8601df924ec31205f016b86778b98 (patch)
treef9cffdc40c43fceeab77f7ef0271fad2177b1bb0
parentbcfd25cbb2b7b7c0d1a897f33926caa203c44290 (diff)
downloadpyramid-d6e8b86723d8601df924ec31205f016b86778b98.tar.gz
pyramid-d6e8b86723d8601df924ec31205f016b86778b98.tar.bz2
pyramid-d6e8b86723d8601df924ec31205f016b86778b98.zip
Make ``pserve.cherrypy_server_runner`` Python 3 compatible.
Closes https://github.com/Pylons/pyramid/issues/718
-rw-r--r--CHANGES.txt3
-rw-r--r--pyramid/scripts/pserve.py9
2 files changed, 11 insertions, 1 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 53724fdcb..679f8ed4a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -183,6 +183,9 @@ Bug Fixes
default. See
https://github.com/Pylons/pyramid/issues/1040
+- Make ``pserve.cherrypy_server_runner`` Python 3 compatible. See
+ https://github.com/Pylons/pyramid/issues/718
+
Backwards Incompatibilities
---------------------------
diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py
index cc368d721..75c648c01 100644
--- a/pyramid/scripts/pserve.py
+++ b/pyramid/scripts/pserve.py
@@ -959,7 +959,14 @@ def cherrypy_server_runner(
server = wsgiserver.CherryPyWSGIServer(bind_addr, app,
server_name=server_name, **kwargs)
- server.ssl_certificate = server.ssl_private_key = ssl_pem
+ if ssl_pem is not None:
+ import sys
+ if sys.version_info < (3, 0):
+ server.ssl_certificate = server.ssl_private_key = ssl_pem
+ else:
+ wsgiserver.get_ssl_adapter_class() # creates wsgiserver.ssl_builtin as side-effect
+ server.ssl_adapter = wsgiserver.ssl_builtin.BuiltinSSLAdapter(ssl_pem, ssl_pem)
+
if protocol_version:
server.protocol = protocol_version