Metadata-Version: 1.0
Name: dm.zopepatches.xmlrpc
Version: 1.0
Summary: Control whether Zope interprets a request as xmlrpc.
Home-page: http://pypi.python.org/pypi/dm.zopepatches.xmlrpc
Author: Dieter Maurer
Author-email: dieter@handshake.de
License: ZPL
Description: This package patches the web application server Zope to allow
        customizable control over the interpretation of requests as xmlrpc requests.
        It implements functionality proposed in https://bugs.launchpad.net/zope2/+bug/373663.
        
        The package has been tested with Zope 2.10.x. It contains special
        handling for Zope 2.11 and Zope 2.12. Because each of these
        versions requires version specific handling (an indication that
        the corresponding Zope code is unstable (in the sense that it changes often)),
        it is likely to fail with other Zope versions.
        
        
        Control xmlrpc processing
        =========================
        
        Zope has built in xmlrpc support. Unfortunately, this support triggers
        as soon as a "POST" request has a "text/xml" content type.
        However, there are many "POST" requests which use a "text/xml" content type
        but cannot be interpreted as xmlrpc requests, most prominently SOAP 1.1
        requests.
        
        Starting with Zope 2.12, Zope no longer treats requests with a "SoapAction"
        header as xmlrpc requests. This solves the problem for SOAP 1.1
        requests; however, in a very ad-hoc way.
        This package provides an easily customizable way to control
        the recognition of xmlrpc requests.
        
        In ``publisher.interfaces`` it defines the interface ``IXmlrpcChecker``.
        This interface is destined as an interface implemented by a utility.
        When ``dm.zopepatches.publisher.interfaces`` is imported,
        Zope's ``HTTPRequest`` is patched such that when the preconditions
        for an xmlrpc request as stipulated by the xmlrpc specification
        ("POST" request and content type ``text/xml``) are met, an
        ``IXmlrpcChecker`` utility is looked up and the request is
        interpreted as an xmlrpc request when either no such utility is found
        or the utility applied to the request returns true. Otherwise,
        the request is treated normally and other parts of the framework or
        the application can handle it as appropriate.
        
        This means that you simply can register an
        ``dm.zopepatches.xmlrpc.publisher.interfaces.IXmlrpcChecker``
        utility when you need control over the triggering of Zope's
        xmlrpc support.
Keywords: application development web xmlrpc Zope
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Framework :: Zope2
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Utilities
