anchor.diff:          String    -> list_to_integer(String)
       end.
   
  +%% @private
  +stream_keys(Context=#ctx{bucket=Bucket,jiak_client=Client}) ->
  +    RiakClient = Client:riak_client(),
  +    {ok, ReqId} = RiakClient:stream_list_keys(Bucket),
  +    fun() -> stream_keys(ReqId, Context) end.
  +
  +%% @private
  +stream_keys(ReqId, Context) ->
  +    receive
  +        {ReqId, {keys, Keys}} ->
  +            {mochijson2:encode({struct, [{<<"keys">>, Keys}]}), fun() -> stream_keys(ReqId, Context) end};                                                                     
  +        {ReqId, done} -> {mochijson2:encode({struct, [{<<"keys">>, []}]}), done}
  +    end.
  +
   %%
   %% Tests
   %%
  
positive.code:                                      add_link_head(Bucket,K,"contained",RD)
                               end,
                               ReqData, KeyList),
      JSONSpec = {struct, Schema ++ Keys},
      {mochijson2:encode(JSONSpec), NewReqData, Context1};
  produce_body(ReqData, Context=#ctx{module=Module,bucket=Bucket}) ->
      {ok, {JiakObject0, Context1}} = retrieve_object(ReqData, Context),
      JiakObject = apply_read_mask(Module, JiakObject0),
  
negative.code:                             end;
                          undefined ->
                              {true,
                               wrq:append_to_response_body(
                                 "JSON object must contain either"
                                 " a 'schema' field or a 'bucket_mod' field",
                                 ReqData),
  