Documenting ssl servers.
This commit is contained in:
@@ -22,9 +22,10 @@ To create a websocket server, simply decorate a handler method with
|
|||||||
You can find a slightly more elaborate version of this code in the file
|
You can find a slightly more elaborate version of this code in the file
|
||||||
``examples/websocket.py``.
|
``examples/websocket.py``.
|
||||||
|
|
||||||
**Note** that the web socket spec is still under development, and it
|
As of version 0.9.13, eventlet.websocket supports SSL websockets; all that's necessary is to use an :ref:`SSL wsgi server <wsgi_ssl>`.
|
||||||
will be necessary to change the way that this module works in response
|
|
||||||
to spec changes.
|
.. note :: The web socket spec is still under development, and it will be necessary to change the way that this module works in response to spec changes.
|
||||||
|
|
||||||
|
|
||||||
.. automodule:: eventlet.websocket
|
.. automodule:: eventlet.websocket
|
||||||
:members:
|
:members:
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
:mod:`wsgi` -- WSGI server
|
:mod:`wsgi` -- WSGI server
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
The wsgi module provides a simple an easy way to start an event-driven
|
The wsgi module provides a simple and easy way to start an event-driven
|
||||||
`WSGI <http://wsgi.org/wsgi/>`_ server. This can serve as an embedded
|
`WSGI <http://wsgi.org/wsgi/>`_ server. This can serve as an embedded
|
||||||
web server in an application, or as the basis for a more full-featured web
|
web server in an application, or as the basis for a more full-featured web
|
||||||
server package. One such package is `Spawning <http://pypi.python.org/pypi/Spawning/>`_.
|
server package. One such package is `Spawning <http://pypi.python.org/pypi/Spawning/>`_.
|
||||||
@@ -21,6 +21,25 @@ To launch a wsgi server, simply create a socket and call :func:`eventlet.wsgi.se
|
|||||||
You can find a slightly more elaborate version of this code in the file
|
You can find a slightly more elaborate version of this code in the file
|
||||||
``examples/wsgi.py``.
|
``examples/wsgi.py``.
|
||||||
|
|
||||||
|
.. automodule:: eventlet.wsgi
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. _wsgi_ssl:
|
||||||
|
|
||||||
|
SSL
|
||||||
|
---
|
||||||
|
|
||||||
|
Creating a secure server is only slightly more involved than the base example. All that's needed is to pass an SSL-wrapped socket to the :func:`~eventlet.wsgi.server` method::
|
||||||
|
|
||||||
|
wsgi.server(eventlet.wrap_ssl(eventlet.listen(('', 8090)),
|
||||||
|
certfile='cert.crt',
|
||||||
|
keyfile='private.key',
|
||||||
|
server_side=True),
|
||||||
|
hello_world)
|
||||||
|
|
||||||
|
Applications can detect whether they are inside a secure server by the value of the ``env['wsgi.url_scheme']`` environment variable.
|
||||||
|
|
||||||
|
|
||||||
Non-Standard Extension to Support Post Hooks
|
Non-Standard Extension to Support Post Hooks
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
Eventlet's WSGI server supports a non-standard extension to the WSGI
|
Eventlet's WSGI server supports a non-standard extension to the WSGI
|
||||||
@@ -53,9 +72,3 @@ Post hooks are useful when code needs to be executed after a response has been
|
|||||||
fully sent to the client (or when the client disconnects early). One example is
|
fully sent to the client (or when the client disconnects early). One example is
|
||||||
for more accurate logging of bandwidth used, as client disconnects use less
|
for more accurate logging of bandwidth used, as client disconnects use less
|
||||||
bandwidth than the actual Content-Length.
|
bandwidth than the actual Content-Length.
|
||||||
|
|
||||||
API
|
|
||||||
---
|
|
||||||
|
|
||||||
.. automodule:: eventlet.wsgi
|
|
||||||
:members:
|
|
||||||
|
@@ -551,7 +551,7 @@ def server(sock, site,
|
|||||||
:param log_x_forwarded_for: If True (the default), logs the contents of the x-forwarded-for header in addition to the actual client ip address in the 'client_ip' field of the log line.
|
:param log_x_forwarded_for: If True (the default), logs the contents of the x-forwarded-for header in addition to the actual client ip address in the 'client_ip' field of the log line.
|
||||||
:param custom_pool: A custom GreenPool instance which is used to spawn client green threads. If this is supplied, max_size is ignored.
|
:param custom_pool: A custom GreenPool instance which is used to spawn client green threads. If this is supplied, max_size is ignored.
|
||||||
:param keepalive: If set to False, disables keepalives on the server; all connections will be closed after serving one request.
|
:param keepalive: If set to False, disables keepalives on the server; all connections will be closed after serving one request.
|
||||||
:param log_format: A python format string that is used as the template to generate log lines. The following values can be formatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds. Look the default for an example of how to use this.
|
:param log_format: A python format string that is used as the template to generate log lines. The following values can be formatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds. The default is a good example of how to use it.
|
||||||
"""
|
"""
|
||||||
serv = Server(sock, sock.getsockname(),
|
serv = Server(sock, sock.getsockname(),
|
||||||
site, log,
|
site, log,
|
||||||
|
Reference in New Issue
Block a user