does it make sense to repeat that code sample here? should we not simply say that when the tag is set on an action, as soon as a HTTP method that is not HEAD or GET is triggered, the cache is invalidated automatically?

btw, do you listen for POST and PUT and invalidate, or check HEAD and GET and not invalidate? so is the method a blacklist or a whitelist? (you never know what people could come up with ;-)