Uploaded image for project: 'mod_python'
  1. mod_python
  2. MODPYTHON-148

Additional constants for mod_python.apache module.

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 3.3.1
    • core
    • None

    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.

      Attachments

        Activity

          People

            grahamd Graham Phillip Dumpleton
            grahamd Graham Phillip Dumpleton
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: