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.

Reply via email to