anchor.diff:              [{"ns-server-auth-token", Token}]
       end.
   
  -convert_headers(Req) ->
  -    Headers = mochiweb_headers:to_list(Req:get(headers)),
  -    lists:filtermap(fun ({'Content-Length', _Value}) ->
  -                            false;
  -                        ({'Transfer-Encoding', _Value}) ->
  -                            false;
  -                        ({Name, Value}) ->
  -                            {true, {convert_header_name(Name), Value}}
  -                    end, Headers).
  +convert_headers(Req, Filter) ->
  +    RawHeaders = mochiweb_headers:to_list(Req:get(headers)),
  +    Headers = [{convert_header_name(Name), Val} || {Name, Val} <- RawHeaders],
  +    filter_headers(Headers, Filter).
   
   convert_header_name(Header) when is_atom(Header) ->
       atom_to_list(Header);
   convert_header_name(Header) when is_list(Header) ->
       Header.
  +
  +filter_headers(Headers, {keep, Names}) ->
  +    [Hdr || {Name, _} = Hdr <- Headers, lists:member(Name, Names)];
  +filter_headers(Headers, {drop, Names}) ->
  +    [Hdr || {Name, _} = Hdr <- Headers, not lists:member(Name, Names)].
   
   do_proxy_req({Host, Port}, Path, Headers, Timeout, Req) ->
       Method = Req:get(method),
  
positive.code:             [#plugin{name = ServiceName,
                       proxy_strategy = ProxyStrategy,
                       rest_api_prefix = RestApiPrefix,
                       doc_root = DocRoot} | Plugins];
          {true, #plugin{}} ->
              ?log_info("Pluggable UI specification for ~p not loaded, "
                        "duplicate REST API prefix ~p~n",
  
negative.code:     {Key, Val} = lists:keyfind(Key, 1, KVs),
      Val.
  
  get_opt_element(Key, KVs) ->
      case lists:keyfind(Key, 1, KVs) of
          {Key, Val} ->
              Val;
           false ->
              undefined
      end.
  
  decode_proxy_strategy(<<"local">>) ->
      local.
  
  