anchor.diff:      end.
   
   forbidden(RD, Ctx) ->
  -    {riak_kv_wm_utils:is_forbidden(RD), RD, Ctx}.
  +    case Ctx#ctx.bucket_type of
  +        <<"default">> ->
  +            {riak_kv_wm_utils:is_forbidden(RD), RD, Ctx};
  +        _Other ->
  +            RD1 = wrq:set_resp_header(?HEAD_CTYPE, "text/plain"),
  +            {true,
  +             wrq:set_resp_body("Link-walking is not allowed on keys stored in "
  +                               "bucket-types.", RD1),
  +             Ctx}
  +    end.
   
   %% @spec allowed_methods(reqdata(), context()) ->
   %%          {[method()], reqdata(), context()}
  
positive.code: %%      can be established.  This function also takes this
  %%      opportunity to extract the 'bucket' and 'key' path
  %%      bindings from the dispatch.
  service_available(RD, Ctx=#ctx{riak=RiakProps}) ->
      case riak_kv_wm_utils:get_riak_client(RiakProps, riak_kv_wm_utils:get_client_id(RD)) of
          {ok, C} ->
              CtxBucket =
  
negative.code:     {ok, #ctx{api_version=proplists:get_value(api_version, Props),
                prefix=proplists:get_value(prefix, Props),
                riak=proplists:get_value(riak, Props),
                cache_secs=proplists:get_value(cache_secs, Props, 600),
                bucket_type=proplists:get_value(bucket_type, Props)
               }}.
  
  %% @spec malformed_request(reqdata(), context()) ->
  