You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-dev@quetz.apache.org by "Graham Dumpleton (JIRA)" <ji...@apache.org> on 2006/03/11 06:36:58 UTC

[jira] Commented: (MODPYTHON-144) Make apache._server/apace._interpreter part of public API.

    [ http://issues.apache.org/jira/browse/MODPYTHON-144?page=comments#action_12369965 ] 

Graham Dumpleton commented on MODPYTHON-144:
--------------------------------------------

After doing some research, rather than being called "apache.server" should possibly be called "apache.main_server". This would reflect better that it refers to the main Apache server configuration. This is in contrast to "req.server" and "req.connection.base_server".

Need to do some more research as to what really is the difference between these three ways of getting to the server object. All I understand so far is that "get_options()" and "get_config()" should return different stuff based on configuration in effect to that point.

At the moment my belief is that "apache.main_server" would reflect config set outside of all configuration containers, "req.connection.base_server" will be the combination of that for the main server and the virtual host, and "req.server" will be the combination of that for the main server, virtual host and any containers traversed based on URL of the request.

> Make apache._server/apace._interpreter part of public API.
> ----------------------------------------------------------
>
>          Key: MODPYTHON-144
>          URL: http://issues.apache.org/jira/browse/MODPYTHON-144
>      Project: mod_python
>         Type: Improvement
>   Components: core
>     Reporter: Graham Dumpleton
>     Assignee: Graham Dumpleton

>
> Within the mod_python.apache module there exists two private variables called "_server" and "_interpreter". These are initialised when an interpreter is first created. The variables are set to be an instance of the mod_python "serverobject" and the name of the interpreter. In effect, these would be the same as are available to a request handler as "req.server" and "req.interpreter".
> The problem with those in the "req" object is that they are only available to the request handler. If these variables in the "mod_python.apache" module are made part of the public API, they would then be accessible by any code. Since "server.get_options()" now exists and "server.get_config()" works properly, making these public would allow code running at global scope when a module is being imported to consult the server level config and/or options to customise their runtime behavour.
> Thus, proposed that these variables be renamed to "apache.server" and "apache.interpreter".

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira