From: <[EMAIL PROTECTED]>
Sent: Wednesday, February 28, 2001 10:13 AM
> > > > Line 845, mod_dav.c [2.0 tree]
> > > >
> > > > if (r->header_only) {
> > > > ap_send_http_header(r);
> > > > return DONE;
> > > > }
> > >
> > > Handlers should not try to handle HEAD requests anymore. This should go
> > > away completely for 2.0. Let the filters take care of the HEAD request.
> >
> > Wrong. Filters don't know wtf the content-type is, what the etag is, what
> > the handler's idea of the content-location is. So they will forever handle
> > head requests.
>
> Wrong. :-) Filters don't know, but the HTTP filter had better know where
> to get that information from the request. Take a look at what you have
> done here. Basically, you sent no data, because ap_send_http_header is a
> no-op, then you return DONE. The core then calls
> ap_finalize_request_protocol, which sends an brigade with just an EOS in
> it down the stack. The http_header filter looks at the headers in the
> request, and it all just works.
We are speaking of two different things...
> > I'm just confirming that returning OK (or DONE in DAV's case) pushes the
> > headers after the handler returns.
>
> Yes it does, which is why handlers can completely ignore HEAD requests
> now.
No they can't. They need to look, see HEAD and return, _after_ they have
set all the headers they care to tell the client about.