anchor.diff:  tag_update(Fun, Req) ->
       case catch mochijson2:decode(Req:recv_body(?MAX_TAG_BODY_SIZE)) of
           {'EXIT', _} ->
  -            Req:respond({403, [], ["Invalid request body"]});
  +            Req:respond({403, [], ["Invalid request body."]});
           Value ->
               case Fun(Value) of
                   {ok, Dst} ->
  
positive.code:     Token = parse_auth_token(Req),
      case Attrib of
          unknown_attribute ->
              Req:respond({404, [], ["Tag attribute not found"]});
          _ ->
              case ddfs:get_tag(ddfs_master, Tag, Attrib, Token) of
                  {ok, TagData} ->
                      Req:ok({"application/json", [], TagData});
                  invalid_name ->
                      Req:respond({403, [], ["Invalid tag"]});
                  deleted ->
                      Req:respond({404, [], ["Tag not found"]});
                  notfound ->
                      Req:respond({404, [], ["Tag not found"]});
                  unknown_attribute ->
                      Req:respond({404, [], ["Tag attribute not found"]});
                  E ->
                      error(E, Req)
              end
  
negative.code:     Token = parse_auth_token(Req),
      case Attrib of
          unknown_attribute ->
              Req:respond({404, [], ["Tag attribute not found."]});
          _ ->
              tag_update(fun(Value) ->
                             ddfs:replace_tag(ddfs_master, Tag, Attrib, Value,
  