CVS: Products/PluggableAuthService/interfaces - request.py:1.1.2.1 plugins.py:1.7.8.1

Sidnei da Silva <[email protected]>
Newsgroups gmane.comp.web.zope.public-cvs
Message-ID <[email protected]>
Update of /cvs-repository/Products/PluggableAuthService/interfaces
In directory cvs.zope.org:/tmp/cvs-serv7291/interfaces

Modified Files:
      Tag: sidnei-challenge-protocol-chooser
	plugins.py 
Added Files:
      Tag: sidnei-challenge-protocol-chooser
	request.py 
Log Message:

- Implement Challenge Protocol Chooser, with functional doctests


=== Added File Products/PluggableAuthService/interfaces/request.py ===
##############################################################################
#
# Copyright (c) 2001 Zope Corporation and Contributors. All Rights
# Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (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.
#
##############################################################################
""" Interfaces for PluggableAuthService

$Id: request.py,v 1.1.2.1 2005/08/13 04:34:33 sidnei Exp $
"""
# Eventually, those interfaces should be moved to Zope and imported
# here as aliases for backward compatibility.

from Interface import Interface

class IRequest( Interface ):

    """ Base Request Interface

    XXX Add methods from BaseRequest?
    """

class IHTTPRequest( IRequest ):

    """ HTTP Request
    """

class IBrowserRequest( IHTTPRequest ):

    """Browser Request
    """

class IWebDAVRequest( IHTTPRequest ):

    """ WebDAV Request
    """

class IXMLRPCRequest( IHTTPRequest ):

    """ XML-RPC Request
    """

class IFTPRequest( IRequest ):

    """ FTP Request
    """
    


=== Products/PluggableAuthService/interfaces/plugins.py 1.7 => 1.7.8.1 ===
--- Products/PluggableAuthService/interfaces/plugins.py:1.7	Thu Oct 28 10:08:16 2004
+++ Products/PluggableAuthService/interfaces/plugins.py	Sat Aug 13 00:34:33 2005
@@ -427,6 +427,31 @@
           scaling issues for some implementations.
         """
 
+class IRequestTypeSniffer( Interface ):
+
+    """ Given a request, detects the request type for later use by other plugins.
+    """
+    def sniffRequestType( request ):
+        """ Return a interface identifying what kind the request is.
+        """
+
+class IChallengeProtocolChooser( Interface ):
+
+    """ Choose a proper set of protocols to be used for challenging
+    the client given a request.
+    """
+    def chooseProtocols( request ):
+        """ -> ( protocol_1, ... protocol_N) | None
+        
+        o If a set of protocols is returned, the first plugin with a
+            protocol that is in the set will define the protocol to be
+            used for the current request.
+
+        o If None is returned, the 'first found protocol' wins.
+
+        o Once the protocol is decided, all challenge plugins for that
+            protocol will be executed.
+        """
 #
 #   XXX:  Do we need a LocalRoleAlgorithm plugin type?  E.g., base_cms
 #         has two different algorithms, based on whether or not the

_______________________________________________
Zope-CVS maillist  -  [email protected]
http://mail.zope.org/mailman/listinfo/zope-cvs

Zope CVS instructions: http://dev.zope.org/CVS
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.