anchor.diff:      ?MODULE:stop();
   config_change("httpd", "socket_options") ->
       ?MODULE:stop();
  +config_change("httpd", "authentication_handlers") ->
  +    set_auth_handlers();
   config_change("httpd_global_handlers", _) ->
       ?MODULE:stop();
   config_change("httpd_db_handlers", _) ->
       ?MODULE:stop();
   config_change("ssl", _) ->
       ?MODULE:stop().
  +
  +set_auth_handlers() ->
  +    AuthenticationSrcs = make_fun_spec_strs(
  +        couch_config:get("httpd", "authentication_handlers", "")),
  +    AuthHandlers = lists:map(
  +        fun(A) -> {make_arity_1_fun(A), ?l2b(A)} end, AuthenticationSrcs),
  +    ok = application:set_env(couch, auth_handlers, AuthHandlers).
   
   % SpecStr is a string like "{my_module, my_fun}"
   %  or "{my_module, my_fun, <<"my_arg">>}"
  
positive.code:     "false" ->
          Req#httpd{user_ctx=#user_ctx{}}
      end;
  authenticate_request(#httpd{} = Req, [AuthSrc|Rest]) ->
      AuthFun = make_arity_1_fun(AuthSrc),
      R = case AuthFun(Req) of
          #httpd{user_ctx=#user_ctx{}=UserCtx}=Req2 ->
              Req2#httpd{user_ctx=UserCtx#user_ctx{handler=?l2b(AuthSrc)}};
          Else -> Else
      end,
      authenticate_request(R, Rest);
  authenticate_request(Response, _AuthSrcs) ->
      Response.
  
  
negative.code: handle_request_int(MochiReq, DefaultFun,
              UrlHandlers, DbUrlHandlers, DesignUrlHandlers) ->
      Begin = now(),
      % for the path, use the raw path with the query string and fragment
      % removed, but URL quoting left intact
      RawUri = MochiReq:get(raw_path),
  