httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <...@covalent.net>
Subject Re: How is this handled?
Date Wed, 28 Feb 2001 16:13:42 GMT

> > > 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.

> 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.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Mime
View raw message