ZCML File
configure.zcml

<configure
    xmlns="http://namespaces.zope.org/zope"
    >
<class
    class=".put.NullResource"
    >
<allow
    interface="zope.app.http.interfaces.INullResource"
    />
</class>
<view
    for="zope.app.container.interfaces.ISimpleReadContainer"
    permission="zope.Public"
    allowed_interface="zope.publisher.interfaces.IPublishTraverse"
    provides="zope.publisher.interfaces.IPublishTraverse"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".traversal.ContainerTraverser"
    />
<view
    for="zope.app.container.interfaces.IItemContainer"
    permission="zope.Public"
    allowed_interface="zope.publisher.interfaces.IPublishTraverse"
    provides="zope.publisher.interfaces.http.IHTTPPublisher"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".traversal.ItemTraverser"
    />
<view
    for="zope.app.http.interfaces.INullResource"
    permission="zope.Public"
    allowed_attributes="PUT"
    name="PUT"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".put.NullPUT"
    />
<view
    for="*"
    permission="zope.Public"
    allowed_attributes="PUT"
    name="PUT"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".put.FilePUT"
    />
<view
    for="*"
    permission="zope.Public"
    allowed_attributes="DELETE"
    name="DELETE"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".delete.DELETE"
    />
<view
    for="*"
    permission="zope.ManageContent"
    allowed_attributes="OPTIONS"
    name="OPTIONS"
    type="zope.publisher.interfaces.http.IHTTPRequest"
    factory=".options.OPTIONS"
    />
<include
    package=".exception"
    />
</configure>