Add ServerAdapter for CherryPy >= 9
Signed-off-by: zhang-liang-pengkun <zhangliangpengkun@xfusion.com>
This commit is contained in:
parent
6ff6c07da6
commit
a53dc64be9
46
0010-Add-ServerAdapter-for-CherryPy-9.patch
Normal file
46
0010-Add-ServerAdapter-for-CherryPy-9.patch
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
From 888aa8e7b8f6490015463ee370ff4026fc951b1f Mon Sep 17 00:00:00 2001
|
||||||
|
From: 06180339 <mlrst@web.de>
|
||||||
|
Date: Sat, 28 Jan 2017 23:29:29 +0100
|
||||||
|
Subject: [PATCH] Add ServerAdapter for CherryPy >= 9
|
||||||
|
|
||||||
|
Since CherryPy >= 9, the server part of CherryPy has been extracted and named Cheroot. Thus the old CherryPy ServerAdapter does not work for CherryPy >= 9: the import fails, and the SSL part should be different too. Cheroot can be installed (git install cheroot) without CherryPy so that we can just have a CherootServer adapter in addition to the CherryPyServer adapter for the older versions.
|
||||||
|
|
||||||
|
(cherry picked from commit b9229eef97ea246e3d0e0c455071d54435a1557d)
|
||||||
|
Signed-off-by: Juerg Haefliger <juergh@protonmail.com>
|
||||||
|
---
|
||||||
|
bottle.py | 19 +++++++++++++++++++
|
||||||
|
1 file changed, 19 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/bottle.py b/bottle.py
|
||||||
|
index 04ccf7d..73886a2 100644
|
||||||
|
--- a/bottle.py
|
||||||
|
+++ b/bottle.py
|
||||||
|
@@ -2816,6 +2816,25 @@ class CherryPyServer(ServerAdapter):
|
||||||
|
server.stop()
|
||||||
|
|
||||||
|
|
||||||
|
+class CherootServer(ServerAdapter):
|
||||||
|
+ def run(self, handler): # pragma: no cover
|
||||||
|
+ from cheroot import wsgi
|
||||||
|
+ from cheroot.ssl import builtin
|
||||||
|
+ self.options['bind_addr'] = (self.host, self.port)
|
||||||
|
+ self.options['wsgi_app'] = handler
|
||||||
|
+ certfile = self.options.pop('certfile', None)
|
||||||
|
+ keyfile = self.options.pop('keyfile', None)
|
||||||
|
+ chainfile = self.options.pop('chainfile', None)
|
||||||
|
+ server = wsgi.Server(**self.options)
|
||||||
|
+ if certfile and keyfile:
|
||||||
|
+ server.ssl_adapter = builtin.BuiltinSSLAdapter(
|
||||||
|
+ certfile, keyfile, chainfile)
|
||||||
|
+ try:
|
||||||
|
+ server.start()
|
||||||
|
+ finally:
|
||||||
|
+ server.stop()
|
||||||
|
+
|
||||||
|
+
|
||||||
|
class WaitressServer(ServerAdapter):
|
||||||
|
def run(self, handler):
|
||||||
|
from waitress import serve
|
||||||
|
--
|
||||||
|
2.39.0.windows.2
|
||||||
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
Name: python-bottle
|
Name: python-bottle
|
||||||
Version: 0.12.13
|
Version: 0.12.13
|
||||||
Release: 18
|
Release: 19
|
||||||
Summary: WSGI micro web-framework for Python.
|
Summary: WSGI micro web-framework for Python.
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: http://bottlepy.org
|
URL: http://bottlepy.org
|
||||||
@ -17,6 +17,7 @@ Patch0007: 0006-1177-Bug-fix-of-missing-regex-escaped-back-slashes.patch
|
|||||||
Patch0008: 0007-Fix-the-Allow-header-value-in-405-Method-not-allowed.patch
|
Patch0008: 0007-Fix-the-Allow-header-value-in-405-Method-not-allowed.patch
|
||||||
Patch0009: 0008-Fix-Multipart-file-uploads-with-empty-filename-not-d.patch
|
Patch0009: 0008-Fix-Multipart-file-uploads-with-empty-filename-not-d.patch
|
||||||
Patch0010: 0009-Fix-for-Issue-586.patch
|
Patch0010: 0009-Fix-for-Issue-586.patch
|
||||||
|
Patch0011: 0010-Add-ServerAdapter-for-CherryPy-9.patch
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRequires: python2-devel python2-setuptools python3-devel python3-setuptools
|
BuildRequires: python2-devel python2-setuptools python3-devel python3-setuptools
|
||||||
|
|
||||||
@ -71,6 +72,9 @@ sed -i '/^#!/d' bottle.py
|
|||||||
%{python3_sitelib}/*
|
%{python3_sitelib}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 18 2024 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 0.12.13-19
|
||||||
|
- Add ServerAdapter for CherryPy >= 9
|
||||||
|
|
||||||
* Fri Jan 12 2024 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 0.12.13-18
|
* Fri Jan 12 2024 zhangliangpengkun<zhangliangpengkun@xfusion.com> - 0.12.13-18
|
||||||
- The auth_basic() decorator doesn't use functools.wraps().
|
- The auth_basic() decorator doesn't use functools.wraps().
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user