anchor.diff:  %%
   -spec is_content_acceptable(#rest{}) -> {ok, #rest{}} | {error, {not_acceptable, _}}.
   
  -is_content_acceptable(#rest{head = Head, env = Env} = Rest) ->
  +is_content_acceptable(#rest{inhead = Head, eghead = EgHead} = Rest) ->
      Provide = f(Rest, content_provided),
      Accept  = opts:val('Accept', [{'*', '*'}], Head),
      case
         lists:flatmap(restd:negotiate(_, Provide), Accept)
      of
         [{_, _} = Type | _] ->
  -         {ok, Rest#rest{env = [{'Accept', Type}|Env]}};
  +         % handle content negotiation and preset content type accepted by client 
  +         {ok, Rest#rest{eghead = orddict:store('Content-Type', Type, EgHead)}};
         _ ->
            {error, {not_acceptable, [mimetype(X) || X <- Accept]}}
      end.
  
positive.code:          pipe:a(Pipe, Error);
  
        ?XOR_L({Code, _} = Error) ->
           {ok, Http} = packetize({application, json}, {Code, jsx:encode([Error])}),
           lists:foreach(pipe:a(Pipe, _), Http)         
     end,
     {next_state, 'ACCEPT', #idle{route = Route}};      
  
negative.code: 
  %%
  %% build a resource context 
  req(#rest{uri = Url, inhead = Head, env = Env}) ->
     {Url, Head, Env}.
  
  %%
  