anchor.diff:  	end,
   	{ok, Headers, RespBody}.
   %% @hidden
  -patch_client2(Id, Port, Protocol, Secret, Etag) ->
  +patch_client3(Id, Port, Protocol, Secret, Etag) ->
   	ok = ocs:update_client(Id, Port, Protocol),
   	RespObj =[{id, Id}, {href, "/ocs/v1/client/" ++ Id},
   			{"port", Port}, {protocol, Protocol}, {secret, Secret}],
  
positive.code: 			{error, 404}
  	end.
  %% @hidden
  patch_client1(Id, Port, Protocol, NewPassword, Etag) ->
  	IDstr = inet:ntoa(Id),
  	ok = ocs:update_client(Id, NewPassword),
  	RespObj =[{id, IDstr}, {href, "/ocs/v1/client/" ++ IDstr},
  
negative.code: patch_client(Ip, undefined, ReqBody) ->
  	patch_client0(Ip, undefined, ReqBody);
  patch_client(Ip, Etag, ReqBody) ->
  	try
  		Etag1 = etag(Etag), 
  		patch_client0(Ip, Etag1, ReqBody)
  	catch
  		_:_ ->
  			{error, 400}
  	end.
  %% @hidden
  patch_client0(Ip, Etag, ReqBody) ->
  	case inet:parse_address(Ip) of
  		{ok, Address} ->
  			patch_client1(Address, Etag, ReqBody);
  		{error, einval} ->
  			{error, 400}
  	end.
  %% @hidden
  patch_client1(Id, Etag, ReqBody) ->
  	case ocs:find_client(Id) of
  		{ok, #client{port = CurrPort, protocol = CurrProtocol,
  				secret = CurrSecret, last_modified = CurrentEtag}}
  