[Web-SIG] wsgiorg.routing_args and original SCRIPT_NAME

Phillip J. Eby pje at telecommunity.com
Thu Jan 24 15:44:28 CET 2008


At 03:22 PM 1/24/2008 +0100, Manlio Perillo wrote:
>Let's suppose that the request uri is "/example/login/".
>
>For the main application, SCRIPT_NAME is "/example".
>For the application at "/login", SCRIPT_NAME is "/example/login".
>
>My problem is that I want, in the page generated by "login" application,
>return an anchor in the form "/example/logout/".
>
>The usual solution is to do environ['SCRIPT_NAME'] + '/logout', but this
>will return "/example/login/logout/", and not "/example/logout/".
>
>This seems to be not possible with the current specifications, since the
>"original" SCRIPT_NAME is lost.
>
>What is the best solution?
>
>1) Do not change SCRIPT_NAME, and instead add a wsgiorg.consumed_path, a
>     list.
>
>     This means that the request uri recostruction must be changed:
>     SCRIPT_NAME = SCRIPT_NAME + '/'.join(wsgiorg.consumed_path)
>
>2) Store a wsgiorg.original_script_name, with the value seen by the
>     routing application.
>
>3) Simply don't change SCRIPT_NAME and PATH_INFO.
>     However I usually need the updated PATH_INFO.

4) Use a relative link, with href="logout".



More information about the Web-SIG mailing list