Commit 8f0e4824 authored by Jim Fulton's avatar Jim Fulton

Checked in some changes that seemed to get lost through a CVS accident.

parent 46471dc9
......@@ -83,7 +83,7 @@
#
##############################################################################
__version__='$Revision: 1.9 $'[11:-2]
__version__='$Revision: 1.10 $'[11:-2]
import regex, sys, os, string
from string import lower, atoi, rfind, split, strip, join, upper, find
......@@ -530,7 +530,8 @@ class HTTPRequest(BaseRequest):
if server_url[-1:]=='/': server_url=server_url[:-1]
self.base="%s/%s" % (server_url,b)
if b: self.base="%s/%s" % (server_url,b)
else: self.base=server_url
while script[:1]=='/': script=script[1:]
if script: script="%s/%s" % (server_url,script)
else: script=server_url
......@@ -625,6 +626,7 @@ class HTTPRequest(BaseRequest):
l=rfind(URL,'/')
if l >= 0: URL=URL[:l]
else: raise KeyError, key
if len(URL) < len(self.base) and n > 1: raise KeyError, key
other[key]=URL
return URL
......@@ -639,14 +641,13 @@ class HTTPRequest(BaseRequest):
if key[:1]=='B' and BASEmatch(key) >= 0:
n=ord(key[4])-ord('0')
if n:
if self.environ.get('SCRIPT_NAME',''): n=n-1
if len(self.steps) < n:
raise KeyError, key
v=self.script
while v[-1:]=='/': v=v[:-1]
v=join([v]+self.steps[:n-1],'/')
v=join([v]+self.steps[:n],'/')
else:
v=self.base
while v[-1:]=='/': v=v[:-1]
......@@ -693,6 +694,36 @@ class HTTPRequest(BaseRequest):
return keys.keys()
def __str__(self):
result="<h3>form</h3><table>"
row='<tr valign="top" align="left"><th>%s</th><td>%s</td></tr>'
for k,v in self.form.items():
result=result + row % (k,v)
result=result+"</table><h3>cookies</h3><table>"
for k,v in self.cookies.items():
result=result + row % (k,v)
result=result+"</table><h3>other</h3><table>"
for k,v in self.other.items():
if k in ('PARENTS','RESPONSE'): continue
result=result + row % (k,v)
for n in "0123456789":
key = "URL%s"%n
try: result=result + row % (key,self[key])
except KeyError: pass
for n in "0123456789":
key = "BASE%s"%n
try: result=result + row % (key,self[key])
except KeyError: pass
result=result+"</table><h3>environ</h3><table>"
for k,v in self.environ.items():
if not hide_key(k):
result=result + row % (k,v)
return result+"</table>"
__repr__=__str__
def _authUserPW(self):
global base64
auth=self._auth
......@@ -809,36 +840,3 @@ def parse_cookie(text,
if not already_have(name): result[name]=value
return apply(parse_cookie,(text[l:],result))
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment