Doc Webdav: reply with relative URIs when the request was relative.
If the DAV client requests properties for a relative URI (without the protocol:ip:port part), it means it can also understand responses with relative notation, so don't bother calculating the prefix (non-trivial). This fixes the REPORT responses to Mozilla Sunbird. bzr revid: p_christ@hol.gr-20101014125118-3x5ivmrbaqwb1nsx
This commit is contained in:
parent
1e0daa7844
commit
b275fc4601
|
@ -152,7 +152,12 @@ def mk_prop_response(self, uri, good_props, bad_props, doc):
|
|||
fileloc = fileloc.encode('utf-8')
|
||||
href=doc.createElement("D:href")
|
||||
davpath = self._dataclass.parent.get_davpath()
|
||||
hurl = '%s://%s%s%s' % (uparts[0], uparts[1], davpath, urllib.quote(fileloc))
|
||||
if uparts[0] and uparts[1]:
|
||||
hurl = '%s://%s%s%s' % (uparts[0], uparts[1], davpath, urllib.quote(fileloc))
|
||||
else:
|
||||
# When the request has been relative, we don't have enough data to
|
||||
# reply with absolute url here.
|
||||
hurl = '%s%s' % (davpath, urllib.quote(fileloc))
|
||||
huri=doc.createTextNode(hurl)
|
||||
href.appendChild(huri)
|
||||
re.appendChild(href)
|
||||
|
@ -226,7 +231,12 @@ def mk_propname_response(self,uri,propnames,doc):
|
|||
fileloc = fileloc.encode('utf-8')
|
||||
href=doc.createElement("D:href")
|
||||
davpath = self._dataclass.parent.get_davpath()
|
||||
hurl = '%s://%s%s%s' % (uparts[0], uparts[1], davpath, urllib.quote(fileloc))
|
||||
if uparts[0] and uparts[1]:
|
||||
hurl = '%s://%s%s%s' % (uparts[0], uparts[1], davpath, urllib.quote(fileloc))
|
||||
else:
|
||||
# When the request has been relative, we don't have enough data to
|
||||
# reply with absolute url here.
|
||||
hurl = '%s%s' % (davpath, urllib.quote(fileloc))
|
||||
huri=doc.createTextNode(hurl)
|
||||
href.appendChild(huri)
|
||||
re.appendChild(href)
|
||||
|
|
Loading…
Reference in New Issue