On 05/30/2008 10:28 AM, Colm MacCárthaigh wrote:
For one reason or another, I need to be able to invalidate cache
entries in some mod_cache caches. There's no "good" standard for this,
WCIP/BEEP went nowhere afaict, but I want to keep things simple. The
way Squid handles this is by implementing a non-standard PURGE HTTP
method, so I've taken the same approach here - in a very basic patch.

The patch actually works, you can call;

PURGE /foo HTTP/1.1
Host: example.org
Accept: foo/bar

and it will actually go and remove the item from whatever cache its
in, with the entity being negotiated as per the Accept headers.

But before I move on to tidying it up to return better codes, work
behind ACLs/auth,
handle the uncached case better and add a PurgeEnable directive (or
similar) - is this
style of invalidation something suitable for httpd at all? or would
people prefer to see
something more like mod_proxy_balancer's full-scale html interface for
doing this kind of thing at run-time?


I don't think that we need a html interface. So the approach looks ok for me.
Things that need fixing as you already said is to ensure that this runs behind
ACLs/auth and as a comment I would not call the cache_remove_url_filter directly
but rather add it to the filter chain and do ap_pass_brigade in
cache_purge_url_filter.
Question: How do we get rid of all varies in one blow if we want to?


Regards

Rüdiger

Reply via email to