[Zope3-checkins] CVS: Zope3/src/zope/app/interfaces/startup - __init__.py:1.3

Jim Fulton jim@zope.com
Fri, 7 Feb 2003 11:00:12 -0500


Update of /cvs-repository/Zope3/src/zope/app/interfaces/startup
In directory cvs.zope.org:/tmp/cvs-serv24670/src/zope/app/interfaces/startup

Modified Files:
	__init__.py 
Log Message:
Implemented HTTP PUT. Do do this, I had to:

- Implement working HTTP publication, request, response

- Change the server setup so that rather than having a Browser
  server and an XML-RPC server, there is an HTTP server that 
  uses:

  o Browser request, response, and publication for browser (GET, POST, 
    and HEAD) requests,

  o XMLRPC request, response, and publication for xml-rpc (POST 
    w content-type=='text/xml') requests,

  o HTTP request, response, and publication for all other HTTP requests.

  XML-RPC now runs on the same port, 8080, as browser requests.

- Implemented HEAD.

- Implemented some simple PUT views that use the
  file-system-reprentation adapter framework. (This is the replacement
  for VFS that is also used by FTP and may be used as part of
  file-system synchronization.) 
  



=== Zope3/src/zope/app/interfaces/startup/__init__.py 1.2 => 1.3 ===
--- Zope3/src/zope/app/interfaces/startup/__init__.py:1.2	Wed Dec 25 09:13:03 2002
+++ Zope3/src/zope/app/interfaces/startup/__init__.py	Fri Feb  7 10:59:39 2003
@@ -1,2 +1,44 @@
+##############################################################################
 #
-# This file is necessary to make this directory a package.
+# Copyright (c) 2003 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""ctory.py,v 1.1.2.2 2002/04/02 02:20:40 srichter Exp $
+"""
+
+from zope.interface import Interface
+
+class IPublicationRequestFactoryFactory(Interface):
+    """Publication request factory factory
+    """
+
+    def realize(db):
+        """Create a publication and request factory for a given database
+
+        Return a IPublicationRequestFactory for the given database.
+        """
+
+class IPublicationRequestFactory(Interface):
+    """Publication request factory 
+    """
+
+    def __call__(input_stream, output_steam, env):
+        """Create a request object to handle the given inputs
+
+        A request is created and configured with a publication object.
+        """
+
+
+class IRequestFactory(IPublicationRequestFactory,
+                      IPublicationRequestFactoryFactory):
+    """This is a pure read-only interface, since the values are set through
+       a ZCML directive and we shouldn't be able to change them.
+    """