Description
Apache defines the following:
/** Magic for mod_cgi[d] */
#define CGI_MAGIC_TYPE "application/x-httpd-cgi"
/** Magic for mod_include */
#define INCLUDES_MAGIC_TYPE "text/x-server-parsed-html"
/** Magic for mod_include */
#define INCLUDES_MAGIC_TYPE3 "text/x-server-parsed-html3"
/** Magic for mod_dir */
#define DIR_MAGIC_TYPE "httpd/unix-directory"
There should be equivalents available as constants in "mod_python.apache" module.
Apache defines the following:
#define PROXYREQ_NONE 0 /**< No proxy */
#define PROXYREQ_PROXY 1 /**< Standard proxy */
#define PROXYREQ_REVERSE 2 /**< Reverse proxy */
#define PROXYREQ_RESPONSE 3 /**< Origin response */
The PROXYREQ_RESPONSE value is missing from "mod_python.apache".
Apache defines the following:
#define HTTP_UPGRADE_REQUIRED 426
This isn't present in mod_python.apache.
Apache defines the following:
/** Send 413 error if message has any body */
#define REQUEST_NO_BODY 0
/** Send 411 error if body without Content-Length */
#define REQUEST_CHUNKED_ERROR 1
/** If chunked, remove the chunks for me. */
#define REQUEST_CHUNKED_DECHUNK 2
/** @} // values_request_rec_body */
These are necessary to understand what req.read_body means. In practice, don't think they are relevant to mod_python handlers, but for completeness should be added.
Apache defines the following:
/**
- @brief Enumeration of connection keepalive options
*/
typedef enum {
AP_CONN_UNKNOWN,
AP_CONN_CLOSE,
AP_CONN_KEEPALIVE
} ap_conn_keepalive_e;
These are needed to understand req.connection.keepalive. Because they a enum values, need to be populated in mod_python._apache module when module is initialised and reference made in mod_python.apache module.
The only other thing from httpd.h which seems of interest is the DOCTYPE macro strings. Don't do anything about them for the time being.