[CalendarServer-changes] [1502] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Fri Apr 27 15:20:45 PDT 2007
Revision: 1502
http://trac.macosforge.org/projects/calendarserver/changeset/1502
Author: dreid at apple.com
Date: 2007-04-27 15:20:45 -0700 (Fri, 27 Apr 2007)
Log Message:
-----------
Add support for and a config option for control of GZip Content-Encoding (see RFC 2616 Section 3.5)
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/config.py
CalendarServer/trunk/twistedcaldav/root.py
Modified: CalendarServer/trunk/twistedcaldav/config.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/config.py 2007-04-27 22:19:52 UTC (rev 1501)
+++ CalendarServer/trunk/twistedcaldav/config.py 2007-04-27 22:20:45 UTC (rev 1502)
@@ -172,10 +172,13 @@
# A unix socket used for communication between the child and master
# processes.
"ControlSocket": "/var/run/caldavd.sock",
-
+
# A secret key (SHA-1 hash of random string) that is used for internal
# crypto operations and shared by multiple server processes
"SharedSecret": "",
+
+ # Support for the gzip Content-Encoding as specified in RFC2616 Section 3.5
+ "GZipEncoding": True,
}
class Config (object):
Modified: CalendarServer/trunk/twistedcaldav/root.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/root.py 2007-04-27 22:19:52 UTC (rev 1501)
+++ CalendarServer/trunk/twistedcaldav/root.py 2007-04-27 22:20:45 UTC (rev 1502)
@@ -34,6 +34,7 @@
class RootResource(DAVFile):
"""
A special root resource that contains support checking SACLs
+ as well as adding responseFilters.
"""
useSacls = False
@@ -50,6 +51,12 @@
"config.EnableSACLs is True, SACLs will not be"
"turned on."))
+ self.contentFilters = []
+
+ if config.GZipEncoding:
+ from twisted.web2.filter import gzip
+ self.contentFilters.append((gzip.gzipfilter, True))
+
def checkSacl(self, request):
"""
Check SACLs against the current request
@@ -92,6 +99,9 @@
return d
def locateChild(self, request, segments):
+ for filter in self.contentFilters:
+ request.addResponseFilter(filter[0], atEnd=filter[1])
+
if self.useSacls:
d = self.checkSacl(request)
d.addCallback(lambda _: super(RootResource, self
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070427/22e8ec43/attachment.html
More information about the calendarserver-changes
mailing list