anchor.diff:  %% @doc For an object GET/PUT/POST or a bucket POST, check to see
   %%      whether the write request violates the write mask of the
   %%      bucket.  For a bucket GET, check to see whether the keys of
  -%%      the bucket are listable.
  +%%      the bucket are listable.  PUT requests to bucket schemas are
  +%%      always accepted.
   forbidden(ReqData, Context=#ctx{key=schema}) ->
       %% PUTs to container are for setting schemas and therefore always
       %% allowed
  
positive.code: %%            a new, server-generated key.  Response will be empty (unless
  %%            returnbody=true is specified in the query parameters) with
  %%            the Location header set to the new object's URI.
  %%</dd></dl>
  -module(jiak_resource).
  
  
negative.code: %%          {[http_method()], webmachine:wrq(), context()}
  %% @type http_method() = 'HEAD'|'GET'|'POST'|'PUT'|'DELETE'
  %% @doc Determine the list of HTTP methods that can be used on this
  %%      resource.  Should be HEAD/GET/POST/PUT for buckets and
  %%      HEAD/GET/POST/PUT/DELETE for objects.
  %%      Exception: HEAD/GET is returned for an "unknown" bucket.
  allowed_methods(RD, Ctx0=#ctx{module=Mod}) ->
  