anchor.diff:      Doc = couch_doc_open(Db, SourceDocId, SourceRev, []),
       % save new doc
       {ok, NewTargetRev} = fabric:update_doc(Db,
  -        Doc#doc{id=TargetDocId, revs=TargetRevs}, []),
  +        Doc#doc{id=TargetDocId, revs=TargetRevs}, [{user_ctx,Ctx}]),
       % respond
       send_json(Req, 201,
           [{"Etag", "\"" ++ ?b2l(couch_doc:rev_to_str(NewTargetRev)) ++ "\""}],
  
positive.code:     ok = ?COUCH:compact_view_group(DbName, Id),
      send_json(Req, 202, {[{ok, true}]});
  
  handle_compact_req(#httpd{method='POST'}=Req, Db) ->
      StartSeq = chttpd:qs_value(Req, "start_seq", "0"),
      ok = ?COUCH:compact_db(Db, list_to_integer(StartSeq)),
      send_json(Req, 202, {[{ok, true}]});
  
  handle_compact_req(Req, _Db) ->
      send_method_not_allowed(Req, "POST").
  
  handle_view_cleanup_req(#httpd{method='POST'}=Req, _Db) ->
      % delete unreferenced index files
      % ok = ?COUCH:cleanup_view_index_files(Db),
      send_json(Req, 202, {[{ok, true}]});
  
  handle_view_cleanup_req(Req, _Db) ->
      send_method_not_allowed(Req, "POST").
  
  
  handle_design_req(#httpd{
          path_parts=[_DbName,_Design,_DesName, <<"_",_/binary>> = Action | _Rest],
  
negative.code:         update_doc(Req, Db, DocId, Json, [{"Location", Location}])
      end;
  
  db_doc_req(#httpd{method='COPY', user_ctx=Ctx}=Req, Db, SourceDocId) ->
      SourceRev =
      case extract_header_rev(Req, chttpd:qs_value(Req, "rev")) of
          missing_rev -> nil;
  