Package cherrypy :: Package wsgiserver :: Class CherryPyWSGIServer
[hide private]
[frames] | no frames]

Class CherryPyWSGIServer

source code

object --+
         |
        CherryPyWSGIServer
Known Subclasses:
_cpwsgi.CPWSGIServer

An HTTP server for WSGI.

bind_addr: a (host, port) tuple if TCP sockets are desired;
    for UNIX sockets, supply the filename as a string.
wsgi_app: the WSGI 'application callable'; multiple WSGI applications
    may be passed as (script_name, callable) pairs.
numthreads: the number of worker threads to create (default 10).
server_name: the string to set for WSGI's SERVER_NAME environ entry.
    Defaults to socket.gethostname().
max: the maximum number of queued requests (defaults to -1 = no limit).
request_queue_size: the 'backlog' argument to socket.listen();
    specifies the maximum number of queued connections (default 5).
timeout: the timeout in seconds for accepted connections (default 10).

protocol: the version string to write in the Status-Line of all
    HTTP responses. For example, "HTTP/1.1" (the default). This
    also limits the supported features used in the response.


SSL/HTTPS
---------
The OpenSSL module must be importable for SSL functionality.
You can obtain it from http://pyopenssl.sourceforge.net/

ssl_certificate: the filename of the server SSL certificate.
ssl_privatekey: the filename of the server's private key file.

If either of these is None (both are None by default), this server
will not use SSL. If both are given and are valid, they will be read
on server start and used in the SSL context for the listening socket.



Nested Classes [hide private]
  ConnectionClass
An HTTP connection (active socket).
Instance Methods [hide private]
 
__init__(self, bind_addr, wsgi_app, numthreads=10, server_name=None, max=-1, request_queue_size=5, timeout=10)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
start(self)
Run the server forever.
source code
 
bind(self, family, type, proto=0)
Create (or recreate) the actual socket object.
source code
 
tick(self)
Accept a new connection and put it on the Queue.
source code
 
_get_interrupt(self) source code
 
_set_interrupt(self, interrupt) source code
 
stop(self)
Gracefully shutdown a server that is serving forever.
source code
 
populate_ssl_environ(self)
Create WSGI environ entries to be merged into each request.
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables [hide private]
  protocol = 'HTTP/1.1'
  version = 'CherryPy/3.0.2'
  ready = False
  _interrupt = None
  ssl_certificate = None
  ssl_private_key = None
Properties [hide private]
  interrupt
Set this to an Exception instance to interrupt the server.

Inherited from object: __class__

Method Details [hide private]

__init__(self, bind_addr, wsgi_app, numthreads=10, server_name=None, max=-1, request_queue_size=5, timeout=10)
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Overrides: object.__init__
(inherited documentation)

Property Details [hide private]

interrupt

Set this to an Exception instance to interrupt the server.
Get Method:
cherrypy.wsgiserver.CherryPyWSGIServer._get_interrupt(self)
Set Method:
cherrypy.wsgiserver.CherryPyWSGIServer._set_interrupt(self, interrupt)