So before I start getting too comfortable with my knowledge of Webware,
I wanted to check on a couple of things that look like possible problems.
In the case of the psp-handler, the mod_webkit sets WK_ABSOLUTE=1 and
then HTTPRequest.py urlPath()/fsPath() will return a path constructed
from the REQUEST_URI and the DOCUMENT_ROOT. This breaks when
referencing files under user directories, because it does not properly
deal with the /~user/ expansion on Apache/Unix systems.
However, it appears in the limited testing I have done, that the
SCRIPT_FILENAME always refers to the absolute server side path for the
file, including any ~expansion for the username. (note: we can't do our
own ~ expansion, without adding code to check where Apache has the user
public_html directories located, since that is a configuration option in
Furthermore, in both with direct URL's (ie: no ~user expansion) and with
the ~user URL's, the extra URLPath information is not properly parsed
off of the .psp pages. However the PATH_INFO environment variable does
contain the extra URL information.
So in the case of the psp-handler / WK_ABSOLUTE=1 condition, it appears
(using Apache 1.3.26 under Linux) that the urlPath() should return the
SCRIPT_FILENAME and the extraURLPath should be set to PATH_INFO, rather
than trying to parse it.
Under the normal webkit-handler it does not appear to be a problem, as
the PATH_INFO contains the URL after parsing off the location where the
webware handler resides. And the PATH_INFO must then be parsed manually
to determine the context and other information.
Has anyone else tried the psp-handler and either extraURL information,
or the ~user expansion?