| Code with Finding: |
class HttpCacheControl {
protected void updateByteValue() {
// Dump the value, using my own version of the StringBuffer:
HttpBuffer buf = new HttpBuffer();
boolean cnt = false;
if (checkDirective(NOCACHE)) {
if ( nocache != null )
buf.appendQuoted("no-cache", (byte) '=', nocache);
else
buf.append("no-cache");
cnt = true;
}
if(checkDirective(NOSTORE) && nostore) {
buf.append("no-store");
cnt = true;
}
if (checkDirective(MAXAGE) && (maxage >= 0)) {
if ( cnt )
buf.append(',');
buf.append("max-age", (byte) '=', maxage);
cnt = true;
}
if (checkDirective(ONLYIFCACHED) && onlyifcached) {
if ( cnt )
buf.append(',');
buf.append("only-if-cached");
cnt = true;
}
if (checkDirective(PUB) && pub) {
if ( cnt )
buf.append(',');
buf.append("public");
cnt = true;
}
if (checkDirective(PRIV) && (priv != null)) {
if ( cnt )
buf.append(',');
buf.appendQuoted("private", (byte) '=', priv);
cnt = true;
}
if (checkDirective(NOTRANSFORM) && notransform) {
if ( cnt )
buf.append(',');
buf.append("no-transform");
cnt = true;
}
if (checkDirective(MUSTREVALIDATE) && mustrevalidate) {
if ( cnt )
buf.append(',');
buf.append("must-revalidate");
cnt = true;
}
if (checkDirective(PROXYREVALIDATE) && proxyrevalidate) {
if ( cnt )
buf.append(',');
buf.append("proxy-revalidate");
cnt = true;
}
if (checkDirective(MAXSTALE) && (maxstale >= 0)) {
if ( cnt )
buf.append(',');
buf.append("max-stale", (byte) '=', maxstale);
cnt = true;
}
if (checkDirective(MINFRESH) && (minfresh >= 0)) {
if ( cnt )
buf.append(',');
buf.append("min-fresh", (byte) '=', minfresh);
cnt = true;
}
if (checkDirective(S_MAXAGE) && (s_maxage >= 0)) {
if ( cnt )
buf.append(',');
buf.append("s_maxage", (byte) '=', s_maxage);
cnt = true;
}
// Keep track of the string, for potential reuse:
raw = buf.getByteCopy();
roff = 0;
rlen = raw.length;
}
}
|