httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject Re: How is this handled?
Date Wed, 28 Feb 2001 16:33:38 GMT
From: <rbb@covalent.net>
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.


Mime
View raw message