[CalendarServer-changes] [2518] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Fri May 30 11:58:47 PDT 2008
Revision: 2518
http://trac.macosforge.org/projects/calendarserver/changeset/2518
Author: dreid at apple.com
Date: 2008-05-30 11:58:42 -0700 (Fri, 30 May 2008)
Log Message:
-----------
Deal with accidentally getting a non-uri URI into the cache. This problem appears with unauthenticated requests.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/cache.py
CalendarServer/trunk/twistedcaldav/test/test_cache.py
Modified: CalendarServer/trunk/twistedcaldav/cache.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/cache.py 2008-05-30 17:52:50 UTC (rev 2517)
+++ CalendarServer/trunk/twistedcaldav/cache.py 2008-05-30 18:58:42 UTC (rev 2518)
@@ -22,7 +22,7 @@
from zope.interface import implements
from twisted.python.failure import Failure
-from twisted.internet.defer import succeed
+from twisted.internet.defer import succeed, fail
from twisted.internet.protocol import ClientCreator
from twisted.web2.iweb import IResource
@@ -133,8 +133,11 @@
f.trap(AttributeError)
return Failure(URINotFoundException(uri))
- return request.locateResource(uri).addCallback(
- lambda resrc: resrc.url()).addErrback(_uriNotFound)
+ try:
+ return request.locateResource(uri).addCallback(
+ lambda resrc: resrc.url()).addErrback(_uriNotFound)
+ except AssertionError:
+ return fail(Failure(URINotFoundException(uri)))
def _getURIs(self, request):
Modified: CalendarServer/trunk/twistedcaldav/test/test_cache.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_cache.py 2008-05-30 17:52:50 UTC (rev 2517)
+++ CalendarServer/trunk/twistedcaldav/test/test_cache.py 2008-05-30 18:58:42 UTC (rev 2518)
@@ -61,6 +61,7 @@
def locateResource(self, uri):
+ assert uri[0] == '/', "URI path didn't begin with '/': %s" % (uri,)
return succeed(self.resources.get(uri))
@@ -273,6 +274,14 @@
return d
+ def test_getResponseForUnauthenticatedRequest(self):
+ d = self.rc.getResponseForRequest(StubRequest(
+ 'PROPFIND',
+ '/calendars/__uids__/cdaboo/',
+ '{DAV:}unauthenticated',
+ body='bazbax'))
+
+
def test_cacheResponseForRequest(self):
expected_response = StubResponse(200, {}, "Foobar")
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080530/ad239f28/attachment-0001.htm
More information about the calendarserver-changes
mailing list