<configure 
    xmlns="http://namespaces.zope.org/zope"
    xmlns:apidoc="http://namespaces.zope.org/apidoc"
    xmlns:zcml="http://namespaces.zope.org/zcml"
    >

  <interface interface="zope.publisher.interfaces.browser.IBrowserSkinType" />
  <interface interface="zope.publisher.interfaces.xmlrpc.IXMLRPCRequest" />

  <interface
      interface="zope.publisher.interfaces.browser.IDefaultBrowserLayer"
      />

  <class class="zope.publisher.http.HTTPRequest">
    <implements
        zcml:condition="installed zope.annotation"
        interface="zope.annotation.interfaces.IAttributeAnnotatable"
        />
  </class>

  <adapter factory="zope.publisher.http.HTTPCharsets" />
  
  <class class="xmlrpclib.Binary">
    <allow attributes="data encode decode" />
  </class>

  <adapter factory=".xmlrpc.ListPreMarshaller" />
  <adapter factory=".xmlrpc.TuplePreMarshaller" />
  <adapter factory=".xmlrpc.BinaryPreMarshaller" />
  <adapter factory=".xmlrpc.FaultPreMarshaller" />
  <adapter factory=".xmlrpc.DateTimePreMarshaller" />
  <adapter factory=".xmlrpc.PythonDateTimePreMarshaller" />
  <adapter factory=".xmlrpc.DictPreMarshaller" />

  <adapter
      name="default"
      factory=".skinnable.getDefaultSkin"
      for="zope.publisher.interfaces.browser.IBrowserRequest"
      provides="zope.publisher.interfaces.IDefaultSkin"
      />

  <adapter
      factory=".principallogging.PrincipalLogging"
      provides=".interfaces.logginginfo.ILoggingInfo"
      for="zope.security.interfaces.IPrincipal"
      />

  <adapter
      factory=".http.BasicAuthAdapter"
      provides="zope.authentication.interfaces.ILoginPassword"
      for=".interfaces.http.IHTTPCredentials"
      />

  <adapter
      factory=".ftp.FTPAuth"
      provides="zope.authentication.interfaces.ILoginPassword"
      for=".interfaces.ftp.IFTPCredentials"
      />

  <apidoc:bookchapter
      zcml:condition="have apidoc"
      id="zopepublisherhttpresults.txt"
      title="Creating HTTP Results"
      doc_path="httpresults.txt"
      />

</configure>
