[z3-checkins] r9546 - z3/davuseragent/trunk
philikon at codespeak.net
philikon at codespeak.net
Tue Mar 1 15:55:04 MET 2005
Author: philikon
Date: Tue Mar 1 15:55:04 2005
New Revision: 9546
Added:
z3/davuseragent/trunk/requestfactory31.py
- copied, changed from r9541, z3/davuseragent/trunk/requestfactory.py
Modified:
z3/davuseragent/trunk/requestfactory.py
Log:
copy code that will once work with the trunk (Zope 3.1) to its
own module
Modified: z3/davuseragent/trunk/requestfactory.py
==============================================================================
--- z3/davuseragent/trunk/requestfactory.py (original)
+++ z3/davuseragent/trunk/requestfactory.py Tue Mar 1 15:55:04 2005
@@ -28,36 +28,19 @@
is_xml = content_type.startswith('text/xml')
if (method == 'POST' and is_xml):
- # soap (enable this on the trunk)
- #if (env.get('HTTP_SOAPACTION', None)
- # and self._soapreq is not None):
- # request = self._soapreq(input_stream, output_steam, env)
- # request.setPublication(self._soappub)
- # return request
request = XMLRPCRequest(input_stream, output_steam, env)
request.setPublication(self._xmlrpc)
return request
# check if we have a distinguished DAV client
user_agent = env.get('HTTP_USER_AGENT', '')
+ # TODO saner detection logic
if user_agent in _dav_user_agents:
request = HTTPRequest(input_stream, output_steam, env)
request.setPublication(self._http)
return request
- # fallback to a regular browser request
+ # fallback to a regular browser request
request = BrowserRequest(input_stream, output_steam, env)
request.setPublication(self._brower)
return request
-
-# use this on the trunk instead of the last paragraph
-# # fallback to a regular browser request:
-# request = BrowserRequest(input_stream, output_steam, env)
-# request.setPublication(self._brower)
-# # Set the default skin
-# adapters = zapi.getService(zapi.servicenames.Adapters)
-# skin = adapters.lookup((providedBy(request),), IDefaultSkin, '')
-# if skin is not None:
-# directlyProvides(request, directlyProvidedBy(request)+skin)
-# else:
-# directlyProvides(request, IDefaultBrowserLayer)
Copied: z3/davuseragent/trunk/requestfactory31.py (from r9541, z3/davuseragent/trunk/requestfactory.py)
==============================================================================
--- z3/davuseragent/trunk/requestfactory.py (original)
+++ z3/davuseragent/trunk/requestfactory31.py Tue Mar 1 15:55:04 2005
@@ -1,7 +1,9 @@
from zope.publisher.http import HTTPRequest
from zope.publisher.browser import BrowserRequest
from zope.publisher.xmlrpc import XMLRPCRequest
+from zope.interface import directlyProvides
+from zope.app import zapi
from zope.app.publication.httpfactory import HTTPPublicationRequestFactory
_browser_methods = 'GET', 'POST', 'HEAD'
@@ -11,7 +13,7 @@
'cadaver/0.20.5 neon/0.23.9',
'neon/0.23.9 cadaver/0.20.5']
-class DAVUserAgentFactory(HTTPPublicationRequestFactory):
+class DAVUserAgentFactory31(HTTPPublicationRequestFactory):
def __call__(self, input_stream, output_steam, env):
"""See `zope.app.publication.interfaces.IPublicationRequestFactory`"""
@@ -28,36 +30,31 @@
is_xml = content_type.startswith('text/xml')
if (method == 'POST' and is_xml):
- # soap (enable this on the trunk)
- #if (env.get('HTTP_SOAPACTION', None)
- # and self._soapreq is not None):
- # request = self._soapreq(input_stream, output_steam, env)
- # request.setPublication(self._soappub)
- # return request
+ # soap
+ if (env.get('HTTP_SOAPACTION', None)
+ and self._soapreq is not None):
+ request = self._soapreq(input_stream, output_steam, env)
+ request.setPublication(self._soappub)
+ return request
request = XMLRPCRequest(input_stream, output_steam, env)
request.setPublication(self._xmlrpc)
return request
# check if we have a distinguished DAV client
user_agent = env.get('HTTP_USER_AGENT', '')
+ # TODO saner detection logic
if user_agent in _dav_user_agents:
request = HTTPRequest(input_stream, output_steam, env)
request.setPublication(self._http)
return request
- # fallback to a regular browser request
+ # fallback to a regular browser request:
request = BrowserRequest(input_stream, output_steam, env)
request.setPublication(self._brower)
- return request
-
-# use this on the trunk instead of the last paragraph
-# # fallback to a regular browser request:
-# request = BrowserRequest(input_stream, output_steam, env)
-# request.setPublication(self._brower)
-# # Set the default skin
-# adapters = zapi.getService(zapi.servicenames.Adapters)
-# skin = adapters.lookup((providedBy(request),), IDefaultSkin, '')
-# if skin is not None:
-# directlyProvides(request, directlyProvidedBy(request)+skin)
-# else:
-# directlyProvides(request, IDefaultBrowserLayer)
+ # Set the default skin
+ adapters = zapi.getSiteManager().adapters
+ skin = adapters.lookup((providedBy(request),), IDefaultSkin, '')
+ if skin is not None:
+ directlyProvides(request, directlyProvidedBy(request)+skin)
+ else:
+ directlyProvides(request, IDefaultBrowserLayer)
More information about the z3-checkins
mailing list