Issue Details (XML | Word | Printable)

Key: MODPYTHON-132
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Graham Dumpleton
Reporter: Graham Dumpleton
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
mod_python

Expose ap_construct_url() in request object.

Created: 17/Feb/06 09:59 AM   Updated: 11/Apr/07 11:26 AM
Return to search
Component/s: core
Affects Version/s: 3.3.x
Fix Version/s: 3.3.1

Time Tracking:
Not Specified

Resolution Date: 07/Mar/06 09:26 AM


 Description  « Hide
Apache provides the function ap_construct_url(). Its purpose is:

  char *ap_construct_url (pool *p, const char *uri, const request_rec *r)

    This function builds a fully qualified URI string from the path specified
    by uri, using the information stored in the request record r to determine
    the server name and port. The port number is not included in the string
    if it is the same as the default port 80.

    For example, imagine that the current request is directed to the virtual
    server www.modperl.com at port 80. Then the following call will return
    the string http://www.modperl.com/ index.html:

        char *url = ap_construct_url(r->pool, "/index.html", r);

This may be a solution to issue previously discussed about how to create a full URL for purpose of doing a redirect.

Even if not perfect, should be exposed as req.construct_url(). After all, the Apache folks are more likely to get this correct and maintain it, better than we can do our own version in Python.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Graham Dumpleton made changes - 05/Mar/06 03:20 PM
Field Original Value New Value
Assignee Graham Dumpleton [ grahamd ]
Fix Version/s 3.3 [ 12310101 ]
Graham Dumpleton made changes - 05/Mar/06 03:43 PM
Status Open [ 1 ] In Progress [ 3 ]
Graham Dumpleton made changes - 07/Mar/06 09:26 AM
Status In Progress [ 3 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Graham Dumpleton made changes - 11/Apr/07 11:26 AM
Status Resolved [ 5 ] Closed [ 6 ]