Module modfcgid
source code
Wrapper for mod_fcgid, for use as a CherryPy HTTP server when
testing.
To autostart fcgid, the "apache" executable or script must
be on your system path, or you must override the global APACHE_PATH. On
some platforms, "apache" may be called "apachectl",
"apache2ctl", or "httpd"--create a symlink to them if
needed.
You'll also need the WSGIServer from flup.servers. See
http://projects.amor.org/misc/wiki/ModPythonGateway
KNOWN BUGS
-
Apache processes Range headers automatically; CherryPy's truncated
output is then truncated again by Apache. See test_core.testRanges.
This was worked around in http://www.cherrypy.org/changeset/1319.
-
Apache does not allow custom HTTP methods like CONNECT as per the
spec. See test_core.testHTTPMethods.
-
Max request header and body settings do not work with Apache.
-
Apache replaces status "reason phrases" automatically.
For example, CherryPy may set "304 Not modified" but
Apache will write out "304 Not Modified" (capital
"M").
-
Apache does not allow custom error codes as per the spec.
-
Apache (or perhaps modpython, or modpython_gateway) unquotes %xx in
the Request-URI too early.
-
mod_python will not read request bodies which use the
"chunked" transfer-coding (it passes
REQUEST_CHUNKED_ERROR to ap_setup_client_block instead of
REQUEST_CHUNKED_DECHUNK, see Apache2's http_protocol.c and
mod_python's requestobject.c).
-
Apache will output a "Content-Length: 0" response header
even if there's no response entity body. This isn't really a bug;
it just differs from the CherryPy default.
|
curdir = ' /tmp/buildd/cherrypy3-3.5.0/cherrypy/test '
|
|
APACHE_PATH = ' httpd '
|
|
CONF_PATH = ' fcgi.conf '
|
|
conf_fcgid = ' \n# Apache2 server conf file for testing CherryP ...
|
|
__package__ = ' cherrypy.test '
|
conf_fcgid
- Value:
'''
# Apache2 server conf file for testing CherryPy with mod_fcgid.
DocumentRoot "%(root)s"
ServerName 127.0.0.1
Listen %(port)s
LoadModule fastcgi_module modules/mod_fastcgi.dll
LoadModule rewrite_module modules/mod_rewrite.so
...
|
|