cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gianugo Rabellino <>
Subject Re: CachingProcessingPipeline: new Expires code
Date Tue, 25 Feb 2003 12:03:11 GMT
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. :-)


Gianugo Rabellino
Pro-netics s.r.l.

View raw message