Bugs item #789693, was opened at 2003-08-16 12:39
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104866&aid=789693&group_id=4866
Category: WebKit
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Jaros³aw Zabie³³o (zbiru)
Assigned to: Nobody/Anonymous (nobody)
Summary: callMethodOfServlet() problem & solution
Initial Comment:
Problem:
.callMethodOfServlet() does not work correct with
ExtraPathInfo=1 and when one servlet calls another
using fake paths. E.g.
http://localhost/WK/context/one.py/fake1/fake2
Analyse:
There is a small problem in resolveInternalRelativePath()
function which works only with relative paths
like 'mypath/myservlet'.
It does NOT work with absolute
paths: /mycontext/mypath/myservlet'
nor '/mypath/myservlet' nor full URI:
http://localhost/WK/mycontext/mypath/myservlet
Solution:
The solution is to add a small line of code.
def resolveInternalRelativePath(self, trans, url,
context=None):
# [cut]
if context is None: # delete it
context = req._contextName # delete it
path = '/%s%s' % (context, url) # delete it
path = '%s' % (url) # ADD this line
# [cut]
Now, http://localhost/WK/context/one/fake1/fake2
works fine. This servlet can call the another without any
problem. It is done using .callMethodOfServlet
with '/context/servlets/second' as a path
(the path should include context name).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104866&aid=789693&group_id=4866
|