anchor.diff:  -define(TIMEOUT, 60000).
   -define(PART_SIZE, 100000).
   -define(WINDOW_SIZE, 5).
  -
  +-define(DEF_REQ_HEADER_FILTER, {drop, ["Content-Length",
  +                                       "Transfer-Encoding"]}).
   -type service_name()   :: atom().
   -type rest_api_prefix():: string().
   -type proxy_strategy() :: local.
  +-type filter_op()      :: keep | drop.
   -record(plugin, { name            :: service_name(),
                     proxy_strategy  :: proxy_strategy(),
                     rest_api_prefix :: rest_api_prefix(),
  -                  doc_root        :: {multiple_roots, [string()]} | string()}).
  +                  doc_root        :: {multiple_roots, [string()]} | string(),
  +                  request_headers_filter :: {filter_op(), [string()]}}).
   -type plugin()  :: #plugin{}.
   -type plugins() :: [plugin()].
   
   -define(VIEW_PLUGIN, #plugin{name = views,
                                proxy_strategy = local,
                                rest_api_prefix = "couchBase",
  -                             doc_root = ""}).
  +                             doc_root = "",
  +                             request_headers_filter = {keep, ["Accept",
  +                                                              "Accept-Encoding",
  +                                                              "Accept-Language",
  +                                                              "Cache-Control",
  +                                                              "Connection",
  +                                                              "Content-Type",
  +                                                              "Pragma",
  +                                                              "Referer"]}}).
   
   -spec find_plugins() -> plugins().
   find_plugins() ->
  
positive.code: decode_docroot(Prefix, Root) ->
      filename:join(Prefix, binary_to_list(Root)).
  
  %%% =============================================================
  %%%
  proxy_req(RestPrefix, Path, Plugins, Req) ->
      case find_plugin_by_prefix(RestPrefix, Plugins) of
          #plugin{name = Service, proxy_strategy = ProxyStrategy} ->
              case address_and_port_for(Service, ProxyStrategy) of
                  HostPort when is_tuple(HostPort) ->
                      Timeout = get_timeout(Service, Req),
                      AuthToken = auth_token(Service, Req),
                      Headers = AuthToken ++ convert_headers(Req),
                      do_proxy_req(HostPort, Path, Headers, Timeout, Req);
                  Error ->
                      server_error(Req, Service, Error)
  
negative.code:                                                       KVs)),
      RestApiPrefix = binary_to_list(get_element(<<"rest-api-prefix">>, KVs)),
      DocRoot = decode_docroot(get_element(<<"doc-root">>, KVs)),
      ReqHdrFilter = decode_request_header_filter(
                       get_opt_element(<<"request-headers-filter">>, KVs)),
      case {valid_service(ServiceName),
            find_plugin_by_prefix(RestApiPrefix, Plugins)} of
          {true, false} ->
  