anchor.diff:  %%      is specified, keys will be streamed back to the client in JSON chunks
   %%      like so: {"keys":[Key1, Key2,...]}.
   produce_bucket_body(RD, #ctx{client=Client,
  -                             bucket=Bucket,
  +                             bucket=Bucket0,
  +                             bucket_type=Type,
                                timeout=Timeout,
                                allow_props_param=AllowProps}=Ctx) ->
  +    Bucket = riak_kv_wm_utils:maybe_bucket_type(Type, Bucket0),
       IncludeBucketProps = (AllowProps == true)
           andalso (wrq:get_qs_value(?Q_PROPS, RD) /= ?Q_FALSE),
   
  
positive.code:          forbidden/2,
           content_types_provided/2,
           encodings_provided/2,
           produce_bucket_body/2,
           malformed_request/2
          ]).
  
  %% @type context() = term()
  -record(ctx, {api_version,  %% integer() - Determine which version of the API to use.
                bucket,       %% binary() - Bucket name (from uri)
                client,       %% riak_client() - the store client
                prefix,       %% string() - prefix for resource uris
  
negative.code:     {ok, #ctx{api_version=proplists:get_value(api_version, Props),
                prefix=proplists:get_value(prefix, Props),
                riak=proplists:get_value(riak, Props),
                allow_props_param=proplists:get_value(allow_props_param, Props),
                bucket_type=proplists:get_value(bucket_type, Props)
               }}.
  
  %% @spec service_available(reqdata(), context()) ->
  %%          {boolean(), reqdata(), context()}
  