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 ?
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.
