Graham Dumpleton closed MODPYTHON-164.

> Allow req.add_handler()/req.register_*_filter() to take module/function for 
> handler.
> ------------------------------------------------------------------------------------
>                 Key: MODPYTHON-164
>                 URL: https://issues.apache.org/jira/browse/MODPYTHON-164
>             Project: mod_python
>          Issue Type: New Feature
>          Components: core
>            Reporter: Graham Dumpleton
>         Assigned To: Graham Dumpleton
>             Fix For: 3.3
> Currently, the:
>   req.add_handler(phase, handler, dir)
>   req.register_input_filter(filter_name, filter, dir)
>   req.register_output_filter(filter_name, filter, dir)
> functions require the handler/filter to be a string. This string identifies 
> the module that should be imported and which contains the necessary function, 
> plus optionally, an alternate named function to the default for the phase or 
> filter type. For example:
>   req.add_handler("PythonHandler", "mymodule::myhandler")
> It would be simpler if the handler/filter argument could be overloaded and 
> instead supplied an actual module reference or callable object reference. For 
> example:
>   import mymodule
>   def myhandler(req):
>     ...
>   def fixuphandler(req):
>     req.add_handler("PythonHandler", mymodule)
>     req.add_handler("PythonHandler", mymodule.myhandler)
>     req.add_handler("PythonHandler", myhandler)
>     return apache.OK
> This would be easier than having to construct a string module/function 
> reference when you have direct access to the handler function.
> In the main the "dir" argument would be irrelevant. The only circumstance 
> where it would matter is where PythonInterpPerDirective was used as it could 
> be used to control the interpreter the code executed within. If not supplied, 
> it could be argued that the directory where the supplied module/function is 
> defined in should be used as "dir".

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to