Carsten Ziegeler wrote:
, then some more changes are needed to take into account that an expires header is present: if so, there should be a way to both generate the key and cache the output and to update/remove entries from the cache if the expires header is changed or removed from the pipeline. What would be the best way to do that? I'm thinking about having an object that generates key on behalf of non cachable components, would that be enough?

Hmm, I haven't looked yet into your code. What happens now if an expires date is set, but the pipeline does not have a cacheable generator?

Actually nothing. My code relies and performs expires logic on the CachedResponse object, so if no one will be created, there is nothing I can do ATM.


What happens, then, is that my patches are good for already cachable pipelines, where there is a cachedresponse that is used right away without any further checking. The next step would be to modify AbstractCachingProcessingPipeline#generateCachingKey(): as of now (roughly) it checks if components are cacheable and if not it gives up; it should instead check for an explicit expires setting and, if that is the case, provide a key by itself for the whole pipeline and cache the whole response right away. But it should also take into account the case where the expires header is removed (modifications wouldn't be a problem since they're already handled). And well, I must confess that I still have some troubles figuring out exactly the caching process. Will work on that, and any help/suggestion is most welcome. :-)

Thanks,

--
Gianugo Rabellino
Pro-netics s.r.l.
http://www.pro-netics.com



Reply via email to