anchor.diff:                           | List1];
                   _ -> List1
               end,
  -    Res = {struct, List2},
  -    reply_json(Req, Res).
  -
  -handle_bucket_info_streaming(_PoolId, Id, Req) ->
  -    %% TODO: this shouldn't be timer driven, but rather should
  -    %%       register a callback based on some state change in the Erlang OS
  +    {struct, List2}.
  +
  +handle_bucket_info_streaming(PoolId, Id, Req) ->
  +    UserPassword = menelaus_auth:extract_auth(Req),
       HTTPRes = Req:ok({"application/json; charset=utf-8",
                         server_header(),
                         chunked}),
  -    UserPassword = menelaus_auth:extract_auth(Req),
  -    Res = build_pool_info(Id, UserPassword),
  +    handle_bucket_info_streaming(PoolId, Id, Req, UserPassword, HTTPRes,
  +                                 3000).
  +
  +handle_bucket_info_streaming(PoolId, Id, Req, UserPassword, HTTPRes, Wait) ->
  +    Res = build_bucket_info(PoolId, Id, UserPassword),
       HTTPRes:write_chunk(mochijson2:encode(Res)),
       %% TODO: resolve why mochiweb doesn't support zero chunk... this
       %%       indicates the end of a response for now
       HTTPRes:write_chunk("\n\n\n\n"),
  -    handle_bucket_info_streaming(_PoolId, Id, Req, HTTPRes, 3000).
  -
  -handle_bucket_info_streaming(_PoolId, Id, Req, HTTPRes, Wait) ->
  +    %% TODO: this shouldn't be timer driven, but rather should
  +    %%       register a callback based on some state change in the Erlang OS
       receive
  -    after Wait ->
  -            UserPassword = menelaus_auth:extract_auth(Req),
  -            Res = build_pool_info(Id, UserPassword),
  -            HTTPRes:write_chunk(mochijson2:encode(Res)),
  -            %% TODO: resolve why mochiweb doesn't support zero chunk... this
  -            %%       indicates the end of a response for now
  -            HTTPRes:write_chunk("\n\n\n\n")
  +    after Wait -> ok
       end,
  -    handle_pool_info_streaming(Id, Req, HTTPRes, 10000).
  +    handle_bucket_info_streaming(PoolId, Id, Req, UserPassword, HTTPRes, Wait).
   
   -ifdef(EUNIT).
   
  
positive.code:     Nodes.
  
  handle_pool_info_streaming(Id, Req) ->
      %% TODO: this shouldn't be timer driven, but rather should
      %% register a callback based on some state change in the Erlang OS
      HTTPRes = Req:ok({"application/json; charset=utf-8",
                        server_header(),
                        chunked}),
      UserPassword = menelaus_auth:extract_auth(Req),
      Res = build_pool_info(Id, UserPassword),
      HTTPRes:write_chunk(mochijson2:encode(Res)),
      %% TODO: resolve why mochiweb doesn't support zero chunk... this
      %%       indicates the end of a response for now
      HTTPRes:write_chunk("\n\n\n\n"),
      handle_pool_info_streaming(Id, Req, HTTPRes, 3000).
  
  handle_pool_info_streaming(Id, Req, HTTPRes, Wait) ->
      receive
      after Wait ->
              UserPassword = menelaus_auth:extract_auth(Req),
              Res = build_pool_info(Id, UserPassword),
              HTTPRes:write_chunk(mochijson2:encode(Res)),
              %% TODO: resolve why mochiweb doesn't support zero chunk... this
              %%       indicates the end of a response for now
              HTTPRes:write_chunk("\n\n\n\n")
      end,
      handle_pool_info_streaming(Id, Req, HTTPRes, 10000).
  
  handle_bucket_list(Id, Req) ->
  	MyPool = find_pool_by_id(Id),
  
negative.code:     expect_prop_value(Id, Buckets).
  
  handle_bucket_info(PoolId, Id, Req) ->
      UserPassword = menelaus_auth:extract_auth(Req),
      reply_json(Req, build_bucket_info(PoolId, Id, UserPassword)).
  
  build_bucket_info(PoolId, Id, _UserPassword) ->
      Pool = find_pool_by_id(PoolId),
      _Bucket = find_bucket_by_id(Pool, Id),
      StatsURI = list_to_binary("/pools/"++PoolId++"/buckets/"++Id++"/stats"),
  