[CalendarServer-changes] [3809] CalendarServer/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Mar 10 15:51:00 PDT 2009
Revision: 3809
http://trac.macosforge.org/projects/calendarserver/changeset/3809
Author: wsanchez at apple.com
Date: 2009-03-10 15:51:00 -0700 (Tue, 10 Mar 2009)
Log Message:
-----------
RedirectRequest isn't generic enough to be factored out.
Modified Paths:
--------------
CalendarServer/trunk/calendarserver/tap/caldav.py
CalendarServer/trunk/twistedcaldav/httpfactory.py
Modified: CalendarServer/trunk/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/trunk/calendarserver/tap/caldav.py 2009-03-10 22:50:10 UTC (rev 3808)
+++ CalendarServer/trunk/calendarserver/tap/caldav.py 2009-03-10 22:51:00 UTC (rev 3809)
@@ -49,6 +49,7 @@
from twisted.web2.server import Site
from twisted.web2.channel import HTTPFactory
from twisted.web2.static import File as FileResource
+from twisted.web2.http import Request, RedirectResponse
from twext.internet.ssl import ChainingOpenSSLContextFactory
@@ -67,7 +68,7 @@
from twistedcaldav.directory.sudo import SudoDirectoryService
from twistedcaldav.directory.util import NotFilePath
from twistedcaldav.directory.wiki import WikiDirectoryService
-from twistedcaldav.httpfactory import HTTP503LoggingFactory, RedirectRequest
+from twistedcaldav.httpfactory import HTTP503LoggingFactory
from twistedcaldav.static import CalendarHomeProvisioningFile
from twistedcaldav.static import IScheduleInboxFile
from twistedcaldav.static import TimezoneServiceFile
@@ -729,18 +730,37 @@
for port in config.BindHTTPPorts:
if config.RedirectHTTPToHTTPS:
+ #
# Redirect non-SSL ports to the configured SSL port.
- RedirectRequest.port = config.SSLPort
- self.log_info("Redirecting %s:%s to %s" %
- (bindAddress, port, RedirectRequest.port))
- TCPServer(int(port), HTTPFactory(RedirectRequest),
+ #
+ class SSLRedirectRequest(Request):
+ def process(self):
+ if config.SSLPort == 443:
+ location = (
+ "https://%s%s"
+ % (config.ServerHostName, self.uri)
+ )
+ else:
+ location = (
+ "https://%s:%d%s"
+ % (config.ServerHostName, config.SSLPort, self.uri)
+ )
+ self.writeResponse(RedirectResponse(location))
+
+ self.log_info(
+ "Redirecting HTTP port %s:%s to HTTPS port %s:%s"
+ % (bindAddress, port, bindAddress, config.SSLPort)
+ )
+ TCPServer(int(port), HTTPFactory(SSLRedirectRequest),
interface=bindAddress, backlog=config.ListenBacklog,
).setServiceParent(service)
else:
# Set up non-SSL port
- self.log_info("Adding server at %s:%s" %
- (bindAddress, port))
+ self.log_info(
+ "Adding server at %s:%s"
+ % (bindAddress, port)
+ )
TCPServer(int(port), channel,
interface=bindAddress, backlog=config.ListenBacklog,
).setServiceParent(service)
Modified: CalendarServer/trunk/twistedcaldav/httpfactory.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/httpfactory.py 2009-03-10 22:50:10 UTC (rev 3808)
+++ CalendarServer/trunk/twistedcaldav/httpfactory.py 2009-03-10 22:51:00 UTC (rev 3809)
@@ -17,7 +17,6 @@
from twisted.internet import protocol
from twisted.python import log
from twisted.web2.channel.http import HTTPFactory
-from twisted.web2.http import Request, RedirectResponse
from twistedcaldav.config import config
@@ -59,17 +58,3 @@
for arg,value in self.protocolArgs.iteritems():
setattr(p, arg, value)
return p
-
-
-class RedirectRequest(Request):
- """ Use 301 redirects to send client to SSL port """
-
- port = 443
-
- def process(self):
- if self.port == 443:
- location = "https://%s%s" % (config.ServerHostName, self.uri)
- else:
- location = "https://%s:%d%s" % (config.ServerHostName, self.port,
- self.uri)
- self.writeResponse(RedirectResponse(location))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090310/88b4d0e8/attachment-0001.html>
More information about the calendarserver-changes
mailing list