Package wsgiwapi :: Package cpwsgiserver :: Class CherryPyWSGIServer
[frames] | no frames]

Class CherryPyWSGIServer

source code

object --+
         |
        CherryPyWSGIServer

An HTTP server for WSGI.

bind_addr: The interface on which to listen for connections.
    For TCP sockets, a (host, port) tuple. Host values may be any IPv4
    or IPv6 address, or any valid hostname. The string 'localhost' is a
    synonym for '127.0.0.1' (or '::1', if your hosts file prefers IPv6).
    The string '0.0.0.0' is a special IPv4 entry meaning "any active
    interface" (INADDR_ANY), and '::' is the similar IN6ADDR_ANY for
    IPv6. The empty string or None are not allowed.
    
    For UNIX sockets, supply the filename as a string.
wsgi_app: the WSGI 'application callable'; multiple WSGI applications
    may be passed as (path_prefix, app) 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).

nodelay: if True (the default since 3.1), sets the TCP_NODELAY socket
    option.

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
  ConnectionClass
An HTTP connection (active socket).
Instance Methods
 
__init__(self, bind_addr, wsgi_app, numthreads=10, server_name=None, max=-1, request_queue_size=5, timeout=10, shutdown_timeout=5)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__str__(self)
str(x)
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
 
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__

Class Variables
  protocol = "HTTP/1.1"
  version = "CherryPy/3.1.0"
  ready = False
  nodelay = True
  environ = {}
  ssl_certificate = None
  ssl_private_key = None
  numthreads = property(_get_numthreads, _set_numthreads)
  bind_addr = property(_get_bind_addr, _set_bind_addr, doc= """T...
  interrupt = property(_get_interrupt, _set_interrupt, doc= "Set...
Properties

Inherited from object: __class__

Method Details

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

source code 

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

Overrides: object.__init__
(inherited documentation)

__str__(self)
(Informal representation operator)

source code 

str(x)

Overrides: object.__str__
(inherited documentation)

Class Variable Details

bind_addr

Value:
property(_get_bind_addr, _set_bind_addr, doc= """The interface on whic\
h to listen for connections.
        
        For TCP sockets, a (host, port) tuple. Host values may be any \
IPv4
        or IPv6 address, or any valid hostname. The string 'localhost'\
 is a
        synonym for '127.0.0.1' (or '::1', if your hosts file prefers \
...

interrupt

Value:
property(_get_interrupt, _set_interrupt, doc= "Set this to an Exceptio\
n instance to " "interrupt the server.")