Package cherrypy :: Module _cpserver :: Class Server
[hide private]
[frames] | no frames]

Class Server

source code

                   object --+    
                            |    
process.servers.ServerAdapter --+
                                |
                               Server

An adapter for an HTTP server.

You can set attributes (like socket_host and socket_port) on *this* object (which is probably cherrypy.server), and call quickstart. For example:

   cherrypy.server.socket_port = 80
   cherrypy.quickstart()
Instance Methods [hide private]
 
_get_socket_host(self) source code
 
_set_socket_host(self, value) source code
 
__init__(self)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
httpserver_from_self(self, httpserver=None)
Return a (httpserver, bind_addr) pair based on self attributes.
source code
 
start(self)
Start the HTTP server.
source code
 
_get_bind_addr(self) source code
 
_set_bind_addr(self, value) source code
 
base(self)
Return the base (scheme://host[:port] or sock file) for this server.
source code

Inherited from process.servers.ServerAdapter: restart, stop, subscribe, unsubscribe, wait

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

Class Variables [hide private]
  socket_port = 8080
The TCP port on which to listen for connections.
  _socket_host = '127.0.0.1'
  socket_file = None
If given, the name of the UNIX socket to use instead of TCP/IP.
  socket_queue_size = 5
The 'backlog' argument to socket.listen(); specifies the maximum number of queued connections (default 5).
  socket_timeout = 10
The timeout in seconds for accepted connections (default 10).
  accepted_queue_size = -1
The maximum number of requests which will be queued up before the server refuses to accept it (default -1, meaning no limit).
  accepted_queue_timeout = 10
The timeout in seconds for attempting to add a request to the queue when the queue is full (default 10).
  shutdown_timeout = 5
The time to wait for HTTP worker threads to clean up.
  protocol_version = 'HTTP/1.1'
The version string to write in the Status-Line of all HTTP responses, for example, "HTTP/1.1" (the default).
  thread_pool = 10
The number of worker threads to start up in the pool.
  thread_pool_max = -1
The maximum size of the worker-thread pool.
  max_request_header_size = 512000
The maximum number of bytes allowable in the request headers.
  max_request_body_size = 104857600
The maximum number of bytes allowable in the request body.
  instance = None
If not None, this should be an HTTP server instance (such as CPWSGIServer) which cherrypy.server will control.
  ssl_context = None
When using PyOpenSSL, an instance of SSL.Context.
  ssl_certificate = None
The filename of the SSL certificate to use.
  ssl_certificate_chain = None
When using PyOpenSSL, the certificate chain to pass to Context.load_verify_locations.
  ssl_private_key = None
The filename of the private key to use with SSL.
  ssl_module = 'pyopenssl'
The name of a registered SSL adaptation module to use with the builtin WSGI server.
  statistics = False
Turns statistics-gathering on or off for aware HTTP servers.
  nodelay = True
If True (the default since 3.1), sets the TCP_NODELAY socket option.
  wsgi_version = (1, 0)
The WSGI version tuple to use with the builtin WSGI server.
Properties [hide private]
  socket_host
The hostname or IP address on which to listen for connections.
  bind_addr
A (host, port) tuple for TCP sockets or a str for Unix domain sockets.

Inherited from object: __class__

Method Details [hide private]

__init__(self)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

start(self)

source code 

Start the HTTP server.

Overrides: process.servers.ServerAdapter.start

Class Variable Details [hide private]

socket_file

If given, the name of the UNIX socket to use instead of TCP/IP.

When this option is not None, the `socket_host` and `socket_port` options are ignored.

Value:
None

protocol_version

The version string to write in the Status-Line of all HTTP responses, for example, "HTTP/1.1" (the default). Depending on the HTTP server used, this should also limit the supported features used in the response.

Value:
'HTTP/1.1'

thread_pool_max

The maximum size of the worker-thread pool. Use -1 to indicate no limit.

Value:
-1

max_request_header_size

The maximum number of bytes allowable in the request headers. If exceeded, the HTTP server should return "413 Request Entity Too Large".

Value:
512000

max_request_body_size

The maximum number of bytes allowable in the request body. If exceeded, the HTTP server should return "413 Request Entity Too Large".

Value:
104857600

instance

If not None, this should be an HTTP server instance (such as CPWSGIServer) which cherrypy.server will control. Use this when you need more control over object instantiation than is available in the various configuration options.

Value:
None

ssl_module

The name of a registered SSL adaptation module to use with the builtin WSGI server. Builtin options are 'builtin' (to use the SSL library built into recent versions of Python) and 'pyopenssl' (to use the PyOpenSSL project, which you must install separately). You may also register your own classes in the wsgiserver.ssl_adapters dict.

Value:
'pyopenssl'

wsgi_version

The WSGI version tuple to use with the builtin WSGI server. The provided options are (1, 0) [which includes support for PEP 3333, which declares it covers WSGI version 1.0.1 but still mandates the wsgi.version (1, 0)] and ('u', 0), an experimental unicode version. You may create and register your own experimental versions of the WSGI protocol by adding custom classes to the wsgiserver.wsgi_gateways dict.

Value:
(1, 0)

Property Details [hide private]

socket_host

The hostname or IP address on which to listen for connections.

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.

Get Method:
_get_socket_host(self)
Set Method:
_set_socket_host(self, value)

bind_addr

A (host, port) tuple for TCP sockets or a str for Unix domain sockets.

Get Method:
_get_bind_addr(self)
Set Method:
_set_bind_addr(self, value)