1 |
idella4 14/06/28 10:52:00 |
2 |
|
3 |
Added: pycurl-7.19.3.1-ssl-test.patch |
4 |
Log: |
5 |
add test deps, upstream patch, drop amd64-fbsd hppa x86-fbsd keywords to include test dep (for re-keywording), unrestrict and update test phase |
6 |
|
7 |
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 0xB8072B0D) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/pycurl/files/pycurl-7.19.3.1-ssl-test.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: pycurl-7.19.3.1-ssl-test.patch |
16 |
=================================================================== |
17 |
https://github.com/p-push/pycurl/commit/8644393bec56cd05c19d5dbe420ff741ba899d10 |
18 |
diff --git a/tests/runwsgi.py b/tests/runwsgi.py |
19 |
index f419d7c..242ef1d 100644 |
20 |
--- a/tests/runwsgi.py |
21 |
+++ b/tests/runwsgi.py |
22 |
@@ -11,6 +11,10 @@ |
23 |
|
24 |
class Server(bottle.WSGIRefServer): |
25 |
def run(self, handler): # pragma: no cover |
26 |
+ self.srv = self.make_server(handler) |
27 |
+ self.serve() |
28 |
+ |
29 |
+ def make_server(self, handler): |
30 |
from wsgiref.simple_server import make_server, WSGIRequestHandler |
31 |
if self.quiet: |
32 |
base = self.options.get('handler_class', WSGIRequestHandler) |
33 |
@@ -18,7 +22,10 @@ class QuietHandler(base): |
34 |
def log_request(*args, **kw): |
35 |
pass |
36 |
self.options['handler_class'] = QuietHandler |
37 |
- self.srv = make_server(self.host, self.port, handler, **self.options) |
38 |
+ srv = make_server(self.host, self.port, handler, **self.options) |
39 |
+ return srv |
40 |
+ |
41 |
+ def serve(self): |
42 |
if sys.version_info[0] == 2 and sys.version_info[1] < 6: |
43 |
# python 2.5 has no poll_interval |
44 |
# and thus no way to stop the server |
45 |
@@ -27,20 +34,21 @@ def log_request(*args, **kw): |
46 |
else: |
47 |
self.srv.serve_forever(poll_interval=0.1) |
48 |
|
49 |
-class SslServer(bottle.CherryPyServer): |
50 |
- def run(self, handler): |
51 |
- import cherrypy.wsgiserver, cherrypy.wsgiserver.ssl_builtin |
52 |
- server = cherrypy.wsgiserver.CherryPyWSGIServer((self.host, self.port), handler) |
53 |
+# http://www.socouldanyone.com/2014/01/bottle-with-ssl.html |
54 |
+# https://github.com/mfm24/miscpython/blob/master/bottle_ssl.py |
55 |
+class SslServer(Server): |
56 |
+ def run(self, handler): # pragma: no cover |
57 |
+ self.srv = self.make_server(handler) |
58 |
+ |
59 |
+ import ssl |
60 |
cert_dir = os.path.join(os.path.dirname(__file__), 'certs') |
61 |
- ssl_adapter = cherrypy.wsgiserver.ssl_builtin.BuiltinSSLAdapter( |
62 |
- os.path.join(cert_dir, 'server.crt'), |
63 |
- os.path.join(cert_dir, 'server.key'), |
64 |
- ) |
65 |
- server.ssl_adapter = ssl_adapter |
66 |
- try: |
67 |
- server.start() |
68 |
- finally: |
69 |
- server.stop() |
70 |
+ self.srv.socket = ssl.wrap_socket( |
71 |
+ self.srv.socket, |
72 |
+ keyfile=os.path.join(cert_dir, 'server.key'), |
73 |
+ certfile=os.path.join(cert_dir, 'server.crt'), |
74 |
+ server_side=True) |
75 |
+ |
76 |
+ self.serve() |
77 |
|
78 |
def start_bottle_server(app, port, server, **kwargs): |
79 |
server_thread = ServerThread(app, port, server, kwargs) |