Graham Dumpleton
grahamd at dscpl.com.au
Wed Aug 9 06:40:23 EDT 2006
Will support Apache 2.0.47+ and 2.2+. On 09/08/2006, at 8:16 PM, Alex Greif wrote: > will mod_python 3.3 also support apache 2.0.x or only 2.2? > > ALex. > > On 8/9/06, Graham Dumpleton <grahamd at dscpl.com.au> wrote: >> Note though that apache._server in mod_python 3.2.10 possibly has >> a bug >> in it, in that it may use the server object for the first virtual >> host accessed and not >> the main server object. This was fixed in 3.3 as is mentioned under: >> >> http://issues.apache.org/jira/browse/MODPYTHON-144 >> >> If you are going to rely on this, you might consider backporting the >> patches >> from mod_python 3.3. >> >> Graham >> >> On 09/08/2006, at 7:53 PM, Alex Greif wrote: >> >> > the apache._server.get_config() works fine >> > >> > Thanks, >> > Alex. >> > >> > On 8/9/06, Graham Dumpleton <grahamd at dscpl.com.au> wrote: >> >> >> >> On 09/08/2006, at 5:28 PM, Alex Greif wrote: >> >> >> >> > Hi, >> >> > in the docs I only find req.get_options() >> >> > >> >> > But I need access to the options before the first request. >> >> > Is there a similar method in the apache object? Unfortunately I >> >> did >> >> > not find one >> >> > >> >> > <Directory ...> >> >> > SetHandler mod_python >> >> > PythonHandler mod_python.publisher >> >> > PythonOption key "value" <---- this one >> >> > </Directory> >> >> > >> >> > The workaround I use now is to start apache with a -D and >> then call >> >> > apache.exists_config_define() >> >> > But for my needs this is a smelling workaround :(( >> >> > >> >> > So a apache.get_options() would be the best because the >> options are >> >> > global anyway, so I dont understand why access to them is only >> >> > possible through the request object >> >> >> >> When you use req.get_options() the result is the combination of >> all >> >> options >> >> from global scope, through VirtualHost, Directory/Location/Files >> >> and .htaccess >> >> files which are relevant to the target of the request. >> >> >> >> Thus req.get_options() would already return the specific >> PythonOption >> >> your >> >> mail points at when executed from within a handler. >> >> >> >> There is also req.connection.base_server.get_options() which >> >> equates to >> >> the combination of options down to VirtualHost level. This will >> not >> >> contain >> >> any overrides for specific options inside of Directory/Location/ >> Files >> >> directives >> >> or .htaccess file relevant to the specific request. >> >> >> >> In mod_python 3.2.10, there is also req.server.get_options(). >> This is >> >> similar to req.get_options(), but returns only the options >> defined at >> >> global >> >> scope within the Apache configuration. That is, outside of the >> >> context of >> >> any VirtualHost, Location, Directory or Files directives. >> >> >> >> In mod_python 3.3, one will also be able to access the main server >> >> object >> >> through apache.main_server. Thus apache.main_server.get_options() >> >> will >> >> return the same as req.server.get_options() except that since >> it is >> >> in the apache >> >> module it can be used at global scope within modules at the >> time they >> >> are >> >> being imported. >> >> >> >> The apache.main_server object in mod_python 3.3 did exist in >> >> mod_python >> >> 3.2.10, but was called apache._server and wasn't officially >> part of >> >> the public >> >> API at that point. >> >> >> >> Thus apache.main_server may be what you want if you mean to be >> >> able to >> >> access it outside of any handler (before a request arrives), >> but your >> >> PythonOption >> >> must be at global scope, not within the Directory directive as you >> >> have it. >> >> >> >> Graham >> >> >> > _______________________________________________ >> > Mod_python mailing list >> > Mod_python at modpython.org >> > http://mailman.modpython.org/mailman/listinfo/mod_python >> >> > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python
|