anchor.diff:  %% handle_extension_method. If and when the parser is updated to accept
   %% PATCH, we'll get it back as an atom and this following clause will be
   %% unnecessary.
  -handle_extension_method("PATCH", CliSock, Req, Head) ->
  -    'PATCH'(CliSock, Req#http_request{method = 'PATCH'}, Head);
  -handle_extension_method("PROPFIND", CliSock, Req, Head) ->
  -    'PROPFIND'(CliSock, Req, Head);
  -handle_extension_method("MKCOL", CliSock, Req, Head) ->
  -    'MKCOL'(CliSock, Req, Head);
  -handle_extension_method("MOVE", CliSock, Req, Head) ->
  -    'MOVE'(CliSock, Req, Head);
  -handle_extension_method("COPY", CliSock, Req, Head) ->
  -    'COPY'(CliSock, Req, Head);
  -handle_extension_method(_Method, CliSock, Req, Head) ->
  -    not_implemented(CliSock, Req, Head).
  +handle_extension_method("PATCH", CliSock, IPPort, Req, Head) ->
  +    'PATCH'(CliSock, IPPort, Req#http_request{method = 'PATCH'}, Head);
  +handle_extension_method("PROPFIND", CliSock, IPPort, Req, Head) ->
  +    'PROPFIND'(CliSock, IPPort, Req, Head);
  +handle_extension_method("MKCOL", CliSock, IPPort, Req, Head) ->
  +    'MKCOL'(CliSock, IPPort, Req, Head);
  +handle_extension_method("MOVE", CliSock, IPPort, Req, Head) ->
  +    'MOVE'(CliSock, IPPort, Req, Head);
  +handle_extension_method("COPY", CliSock, IPPort, Req, Head) ->
  +    'COPY'(CliSock, IPPort, Req, Head);
  +handle_extension_method(_Method, CliSock, IPPort, Req, Head) ->
  +    not_implemented(CliSock, IPPort, Req, Head).
   
   
   %% Return values:
  
positive.code: %%% Internal functions
  %%%----------------------------------------------------------------------
  
  aloop(CliSock, GS, Num) ->
      process_flag(trap_exit, false),
      init_db(),
      SSL = GS#gs.ssl,
  
negative.code:     Bin.
  
  
  call_method(Method, CliSock, IPPort, Req, H) ->
      case Method of
          F when is_atom(F) ->
              ?MODULE:F(CliSock, IPPort, Req, H);
          L when is_list(L) ->
              handle_extension_method(L, CliSock, IPPort, Req, H)
      end.
  
  
  'HEAD'(CliSock, IPPort, Req, Head) ->
      put(acc_content, discard),
      no_body_method(CliSock, IPPort, Req, Head).
  
  not_implemented(CliSock, _IPPort, Req, Head) ->
      SC=get(sc),
      ok = yaws:setopts(CliSock, [{packet, raw}, binary], yaws:is_ssl(SC)),
      flush(CliSock, Head#headers.content_length),
      deliver_501(CliSock, Req).
  
  
  'TRACE'(CliSock, IPPort, Req, Head) ->
      not_implemented(CliSock, IPPort, Req, Head).
  
  'OPTIONS'(CliSock, IPPort, Req, Head) ->
      case Req#http_request.path of
          '*' ->
              % Handle "*" as per RFC2616 section 5.1.2
              deliver_options(CliSock, Req, ['GET', 'HEAD', 'OPTIONS',
                                             'PUT', 'POST', 'DELETE']);
          _ ->
              no_body_method(CliSock, IPPort, Req, Head)
      end.
  
  'PUT'(CliSock, IPPort, Req, Head) ->
      ?Debug("PUT Req=~p~n H=~p~n", [?format_record(Req, http_request),
                                     ?format_record(Head, headers)]),
      body_method(CliSock, IPPort, Req, Head).
  
  
  'DELETE'(CliSock, IPPort, Req, Head) ->
      no_body_method(CliSock, IPPort, Req, Head).
  
  'PATCH'(CliSock, IPPort, Req, Head) ->
      ?Debug("PATCH Req=~p~n H=~p~n", [?format_record(Req, http_request),
                                       ?format_record(Head, headers)]),
      body_method(CliSock, IPPort, Req, Head).
  
  %%%
  %%% WebDav specifics: PROPFIND, MKCOL,....
  %%%
  'PROPFIND'(CliSock, IPPort, Req, Head) ->
      %%?elog("PROPFIND Req=~p H=~p~n",
      %%                   [?format_record(Req, http_request),
      %%                    ?format_record(Head, headers)]),
      body_method(CliSock, IPPort, Req, Head).
  
  'MOVE'(CliSock, IPPort, Req, Head) ->
      no_body_method(CliSock, IPPort, Req, Head).
  
  'COPY'(CliSock, IPPort, Req, Head) ->
      no_body_method(CliSock, IPPort, Req, Head).
  
  
  body_method(CliSock, IPPort, Req, Head) ->
      SC=get(sc),
      ok = yaws:setopts(CliSock, [{packet, raw}, binary], yaws:is_ssl(SC)),
      PPS = SC#sconf.partial_post_size,
  