Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(703)

Side by Side Diff: third_party/cherrypy/_cpwsgi_server.py

Issue 9368042: Add CherryPy to third_party. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build/
Patch Set: '' Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/cherrypy/_cpwsgi.py ('k') | third_party/cherrypy/cherryd » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 """WSGI server interface (see PEP 333). This adds some CP-specific bits to
2 the framework-agnostic wsgiserver package.
3 """
4 import sys
5
6 import cherrypy
7 from cherrypy import wsgiserver
8
9
10 class CPWSGIServer(wsgiserver.CherryPyWSGIServer):
11 """Wrapper for wsgiserver.CherryPyWSGIServer.
12
13 wsgiserver has been designed to not reference CherryPy in any way,
14 so that it can be used in other frameworks and applications. Therefore,
15 we wrap it here, so we can set our own mount points from cherrypy.tree
16 and apply some attributes from config -> cherrypy.server -> wsgiserver.
17 """
18
19 def __init__(self, server_adapter=cherrypy.server):
20 self.server_adapter = server_adapter
21 self.max_request_header_size = self.server_adapter.max_request_header_si ze or 0
22 self.max_request_body_size = self.server_adapter.max_request_body_size o r 0
23
24 server_name = (self.server_adapter.socket_host or
25 self.server_adapter.socket_file or
26 None)
27
28 self.wsgi_version = self.server_adapter.wsgi_version
29 s = wsgiserver.CherryPyWSGIServer
30 s.__init__(self, server_adapter.bind_addr, cherrypy.tree,
31 self.server_adapter.thread_pool,
32 server_name,
33 max = self.server_adapter.thread_pool_max,
34 request_queue_size = self.server_adapter.socket_queue_size,
35 timeout = self.server_adapter.socket_timeout,
36 shutdown_timeout = self.server_adapter.shutdown_timeout,
37 )
38 self.protocol = self.server_adapter.protocol_version
39 self.nodelay = self.server_adapter.nodelay
40
41 if sys.version_info >= (3, 0):
42 ssl_module = self.server_adapter.ssl_module or 'builtin'
43 else:
44 ssl_module = self.server_adapter.ssl_module or 'pyopenssl'
45 if self.server_adapter.ssl_context:
46 adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
47 self.ssl_adapter = adapter_class(
48 self.server_adapter.ssl_certificate,
49 self.server_adapter.ssl_private_key,
50 self.server_adapter.ssl_certificate_chain)
51 self.ssl_adapter.context = self.server_adapter.ssl_context
52 elif self.server_adapter.ssl_certificate:
53 adapter_class = wsgiserver.get_ssl_adapter_class(ssl_module)
54 self.ssl_adapter = adapter_class(
55 self.server_adapter.ssl_certificate,
56 self.server_adapter.ssl_private_key,
57 self.server_adapter.ssl_certificate_chain)
58
59 self.stats['Enabled'] = getattr(self.server_adapter, 'statistics', False )
60
61 def error_log(self, msg="", level=20, traceback=False):
62 cherrypy.engine.log(msg, level, traceback)
63
OLDNEW
« no previous file with comments | « third_party/cherrypy/_cpwsgi.py ('k') | third_party/cherrypy/cherryd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698