[ http://issues.apache.org/jira/browse/MODPYTHON-141?page=all ] Graham Dumpleton resolved MODPYTHON-141: ----------------------------------------
Resolution: Fixed > Allow handlers to trigger proxying of requests. > ----------------------------------------------- > > Key: MODPYTHON-141 > URL: http://issues.apache.org/jira/browse/MODPYTHON-141 > Project: mod_python > Type: Improvement > Components: core > Versions: 3.3 > Reporter: Graham Dumpleton > Assignee: Graham Dumpleton > Fix For: 3.3 > > The req.proxyreq and req.uri attributes are not currently modifiable. If they > were modifable, it would be possible for a mod_python handler to trigger > proxying of a request to some remote site. For example: > import posixpath > from mod_python import apache > def fixuphandler(req): > if req.proxyreq: > return apache.DECLINED > normalised_uri = posixpath.normpath(req.uri) > if normalised_uri: > if normalised_uri != '/' and req.uri[-1] == '/': > normalised_uri += '/' > length = len(req.filename) > length -= len(req.hlist.directory) - 1 > length += len(req.path_info or '') > baseurl = normalised_uri[:-length] > path = normalised_uri[len(baseurl):] > req.proxyreq = apache.PROXYREQ_REVERSE > req.uri = 'http://www.dscpl.com.au' + path > req.filename = 'proxy:%s' % req.uri > req.handler = 'proxy-server' > return apache.OK > See further discussion on mailing list: > http://www.modpython.org/pipermail/mod_python/2006-March/020500.html > http://www.modpython.org/pipermail/mod_python/2006-March/020502.html > http://www.modpython.org/pipermail/mod_python/2006-March/020503.html > http://www.modpython.org/pipermail/mod_python/2006-March/020507.html > Patches are include in the last of these emails rather than being attached > here. -- 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