Skip to content

Commit 04b27f1

Browse files
committed
Merge branch 'release-0.12+cheroot' of https://github.com/juergh/bottle into release-0.12
2 parents e140e1b + 6e9c55a commit 04b27f1

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

bottle.py

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2795,7 +2795,11 @@ class server_cls(server_cls):
27952795

27962796
class CherryPyServer(ServerAdapter):
27972797
def run(self, handler): # pragma: no cover
2798-
from cherrypy import wsgiserver
2798+
depr(0, 13, "The wsgi server part of cherrypy was split into a new "
2799+
"project called 'cheroot'.", "Use the 'cheroot' server "
2800+
"adapter instead of cherrypy.")
2801+
from cherrypy import wsgiserver # This will fail for CherryPy >= 9
2802+
27992803
self.options['bind_addr'] = (self.host, self.port)
28002804
self.options['wsgi_app'] = handler
28012805

@@ -2818,6 +2822,25 @@ def run(self, handler): # pragma: no cover
28182822
server.stop()
28192823

28202824

2825+
class CherootServer(ServerAdapter):
2826+
def run(self, handler): # pragma: no cover
2827+
from cheroot import wsgi
2828+
from cheroot.ssl import builtin
2829+
self.options['bind_addr'] = (self.host, self.port)
2830+
self.options['wsgi_app'] = handler
2831+
certfile = self.options.pop('certfile', None)
2832+
keyfile = self.options.pop('keyfile', None)
2833+
chainfile = self.options.pop('chainfile', None)
2834+
server = wsgi.Server(**self.options)
2835+
if certfile and keyfile:
2836+
server.ssl_adapter = builtin.BuiltinSSLAdapter(
2837+
certfile, keyfile, chainfile)
2838+
try:
2839+
server.start()
2840+
finally:
2841+
server.stop()
2842+
2843+
28212844
class WaitressServer(ServerAdapter):
28222845
def run(self, handler):
28232846
from waitress import serve
@@ -2985,7 +3008,9 @@ def run(self, handler):
29853008

29863009
class AutoServer(ServerAdapter):
29873010
""" Untested. """
2988-
adapters = [WaitressServer, PasteServer, TwistedServer, CherryPyServer, WSGIRefServer]
3011+
adapters = [WaitressServer, PasteServer, TwistedServer, CherryPyServer,
3012+
CherootServer, WSGIRefServer]
3013+
29893014
def run(self, handler):
29903015
for sa in self.adapters:
29913016
try:
@@ -2999,6 +3024,7 @@ def run(self, handler):
29993024
'wsgiref': WSGIRefServer,
30003025
'waitress': WaitressServer,
30013026
'cherrypy': CherryPyServer,
3027+
'cheroot': CherootServer,
30023028
'paste': PasteServer,
30033029
'fapws3': FapwsServer,
30043030
'tornado': TornadoServer,

0 commit comments

Comments
 (0)