but if we have this: Cache-Control=no-cache, max-age=10. If we don't check we will cache which is wrong right ? This header is wrong but I have already seen this on tests I did.
Or I am misunderstanding ? Regards Philippe On Sun, Jul 8, 2012 at 3:19 PM, sebb <[email protected]> wrote: > On 8 July 2012 14:07, Philippe Mouawad <[email protected]> wrote: > > Can't it also be no-cache ? no-store ? > > If we don't check it , we could store in cache if server returns invalid > > headers no ? > > What do we do if we don't check MaxAge? > > I don't think we should be more restrictive just because we are also > checking the age. > > > > > Thansk for looking at 53365. > > Regards > > Philippe > > > > On Sun, Jul 8, 2012 at 3:01 PM, sebb <[email protected]> wrote: > > > >> On 8 July 2012 10:40, <[email protected]> wrote: > >> > Author: pmouawad > >> > Date: Sun Jul 8 09:40:51 2012 > >> > New Revision: 1358710 > >> > > >> > URL: http://svn.apache.org/viewvc?rev=1358710&view=rev > >> > Log: > >> > Bug 53521 - Cache Manager should cache content with > Cache-control=private > >> > Bugzilla Id: 53521 > >> > > >> > Modified: > >> > > >> > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java > >> > > >> > jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java > >> > jmeter/trunk/xdocs/changes.xml > >> > > >> > Modified: > >> > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java > >> > URL: > >> > http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java?rev=1358710&r1=1358709&r2=1358710&view=diff > >> > > >> > ============================================================================== > >> > --- > >> > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java > >> (original) > >> > +++ > >> > jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/CacheManager.java > >> Sun Jul 8 09:40:51 2012 > >> > @@ -161,7 +161,7 @@ public class CacheManager extends Config > >> > if (useExpires) {// Check that we are processing > >> Expires/CacheControl > >> > final String MAX_AGE = "max-age="; > >> > // TODO - check for other CacheControl attributes? > >> > - if (cacheControl != null && > cacheControl.contains("public") > >> && cacheControl.contains(MAX_AGE)) { > >> > + if (cacheControl != null && > >> (cacheControl.contains("public") || cacheControl.contains("private")) && > >> cacheControl.contains(MAX_AGE)) { > >> > >> Not sure this is the correct fix. > >> Do we really care if the string "public" or "private" is present so > >> long as there is a MAX_AGE entry? > >> We could just drop the check for "public" instead. > >> > >> > long maxAgeInSecs = Long.parseLong( > >> > > >> cacheControl.substring(cacheControl.indexOf(MAX_AGE)+MAX_AGE.length()) > >> > .split("[, ]")[0] // Bug 51932 - allow > for > >> optional trailing attributes > >> > > >> > Modified: > >> > jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java > >> > URL: > >> > http://svn.apache.org/viewvc/jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java?rev=1358710&r1=1358709&r2=1358710&view=diff > >> > > >> > ============================================================================== > >> > --- > >> > jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java > >> (original) > >> > +++ > >> > jmeter/trunk/test/src/org/apache/jmeter/protocol/http/control/TestCacheManager.java > >> Sun Jul 8 09:40:51 2012 > >> > @@ -238,7 +238,30 @@ public class TestCacheManager extends JM > >> > assertNotNull("Should find > >> entry",getThreadCacheEntry(LOCAL_HOST)); > >> > assertTrue("Should find valid > >> entry",this.cacheManager.inCache(url)); > >> > } > >> > + > >> > + public void testPrivateCacheHttpClient() throws Exception{ > >> > + this.cacheManager.setUseExpires(true); > >> > + this.cacheManager.testIterationStart(null); > >> > + assertNull("Should not find > >> entry",getThreadCacheEntry(LOCAL_HOST)); > >> > + assertFalse("Should not find valid > >> entry",this.cacheManager.inCache(url)); > >> > + ((HttpMethodStub)httpMethod).expires=makeDate(new > >> Date(System.currentTimeMillis())); > >> > + ((HttpMethodStub)httpMethod).cacheControl="private, > max-age=10"; > >> > + this.cacheManager.saveDetails(httpMethod, sampleResultOK); > >> > + assertNotNull("Should find > >> entry",getThreadCacheEntry(LOCAL_HOST)); > >> > + assertTrue("Should find valid > >> entry",this.cacheManager.inCache(url)); > >> > + } > >> > > >> > + public void testNoCacheHttpClient() throws Exception{ > >> > + this.cacheManager.setUseExpires(true); > >> > + this.cacheManager.testIterationStart(null); > >> > + assertNull("Should not find > >> entry",getThreadCacheEntry(LOCAL_HOST)); > >> > + assertFalse("Should not find valid > >> entry",this.cacheManager.inCache(url)); > >> > + ((HttpMethodStub)httpMethod).cacheControl="no-cache"; > >> > + this.cacheManager.saveDetails(httpMethod, sampleResultOK); > >> > + assertNotNull("Should find > >> entry",getThreadCacheEntry(LOCAL_HOST)); > >> > + assertFalse("Should not find valid > >> entry",this.cacheManager.inCache(url)); > >> > + } > >> > + > >> > public void testCacheHttpClientBug51932() throws Exception{ > >> > this.cacheManager.setUseExpires(true); > >> > this.cacheManager.testIterationStart(null); > >> > > >> > Modified: jmeter/trunk/xdocs/changes.xml > >> > URL: > >> > http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1358710&r1=1358709&r2=1358710&view=diff > >> > > >> > ============================================================================== > >> > --- jmeter/trunk/xdocs/changes.xml (original) > >> > +++ jmeter/trunk/xdocs/changes.xml Sun Jul 8 09:40:51 2012 > >> > @@ -59,6 +59,7 @@ or a Debug Sampler with all fields set t > >> > > >> > <h3>HTTP Samplers and Proxy</h3> > >> > <ul> > >> > +<li><bugzilla>53521</bugzilla> - Cache Manager should cache content > >> with Cache-control=private</li> > >> > </ul> > >> > > >> > <h3>Other Samplers</h3> > >> > > >> > > >> > > > > > > > > -- > > Cordialement. > > Philippe Mouawad. > -- Cordialement. Philippe Mouawad.
