gevent.wsgi
– Backwards compatibility alias for gevent.pywsgi
¶In the past, this used libevent’s http support, but that was dropped with the introduction of libev. libevent’s http support had several limitations, including not supporting stream, not supporting pipelining, and not supporting SSL.
Deprecated since version 1.1: Use gevent.pywsgi
WSGIHandler
(socket, address, server, rfile=None)¶Bases: object
MessageClass
¶alias of Message
protocol_version
= 'HTTP/1.1'¶handle
()¶The main request handling method, called by the server.
This method runs until all requests on the connection have been handled (that is, it implements pipelining).
read_request
(raw_requestline)¶Process the incoming request. Parse various headers.
Raises: | ValueError – If the request is invalid. This error will not be logged (because it’s a client issue, not a server problem). |
---|
log_error
(msg, *args)¶read_requestline
()¶Read and return the HTTP request line.
Under both Python 2 and 3, this should return the native
str
type; under Python 3, this probably means the bytes read
from the network need to be decoded (using the ISO-8859-1 charset, aka
latin-1).
handle_one_request
()¶finalize_headers
()¶write
(data)¶start_response
(status, headers, exc_info=None)¶log_request
()¶format_request
()¶process_result
()¶run_application
()¶handle_one_response
()¶handle_error
(type, value, tb)¶get_environ
()¶WSGIServer
(listener, application=None, backlog=None, spawn='default', log='default', error_log='default', handler_class=None, environ=None, **ssl_args)¶Bases: gevent.server.StreamServer
A WSGI server based on StreamServer
that supports HTTPS.
Parameters: |
|
---|
See also
Changed in version 1.1a3: Added the error_log
parameter, and set wsgi.errors
in the WSGI
environment to this value.
Changed in version 1.1a3: Add support for passing logging.Logger
objects to the log
and
error_log
arguments.
base_env
= {'wsgi.version': (1, 0), 'GATEWAY_INTERFACE': 'CGI/1.1', 'wsgi.run_once': False, 'wsgi.multiprocess': False, 'SERVER_SOFTWARE': 'gevent/1.1 Python/2.7', 'SCRIPT_NAME': '', 'wsgi.multithread': False}¶error_log
= None¶handler_class
¶alias of WSGIHandler
log
= None¶set_environ
(environ=None)¶set_max_accept
()¶get_environ
()¶init_socket
()¶update_environ
()¶Called before the first request is handled to fill in WSGI environment values.
This includes getting the correct server name and port.
handle
(socket, address)¶Create an instance of handler_class
to handle the request.
This method blocks until the handler returns.
LoggingLogAdapter
(logger, level=20)¶Bases: object
An adapter for logging.Logger
instances
to let them be used with WSGIServer
.
Warning
Unless the entire process is monkey-patched at a very early part of the lifecycle (before logging is configured), loggers are likely to not be gevent-cooperative. For example, the socket and syslog handlers use the socket module in a way that can block, and most handlers acquire threading locks.
Warning
It may be possible for the logging functions to be
called in the gevent.Hub
greenlet. Code running in the
hub greenlet cannot use any gevent blocking functions without triggering
a LoopExit
.
New in version 1.1a3.
Write information to the logger at the given level (default to INFO).
write
(msg)¶flush
()¶No-op; required to be a file-like object
writelines
(lines)¶Next page: gevent.backdoor