Provided developement and testing resources for Solaris /dev/poll
support.
+
+Yahoo! Inc. - http://www.yahoo.com/
+
+ Yahoo! Inc. supported the development of improved refresh
+ logics. Many thanks to Yahoo! Inc. for supporting the development
+ of these features.
{"max-age", (http_hdr_type)CC_MAX_AGE},
{"s-maxage", (http_hdr_type)CC_S_MAXAGE},
{"max-stale", (http_hdr_type)CC_MAX_STALE},
+ {"stale-if-error", (http_hdr_type)CC_STALE_IF_ERROR},
{"min-fresh", (http_hdr_type)CC_MIN_FRESH},
{"Other,", (http_hdr_type)CC_OTHER} /* ',' will protect from matches */
};
break;
+ case CC_STALE_IF_ERROR:
+ if (!p || !httpHeaderParseInt(p, &cc->stale_if_error)) {
+ debugs(65, 2, "cc: invalid stale-if-error specs near '" << item << "'");
+ cc->stale_if_error = -1;
+ EBIT_CLR(cc->mask, type);
+ }
+ break;
+
case CC_OTHER:
if (cc->other.size())
debugs(22, 3, "Staleness = " << staleness);
+ // stale-if-error requires any failure be passed thru when its period is over.
+ if (request && entry->mem_obj && entry->mem_obj->getReply() && entry->mem_obj->getReply()->cache_control &&
+ EBIT_TEST(entry->mem_obj->getReply()->cache_control->mask, CC_STALE_IF_ERROR) &&
+ entry->mem_obj->getReply()->cache_control->stale_if_error < staleness) {
+
+ debugs(22, 3, "refreshCheck: stale-if-error period expired.");
+ request->flags.fail_on_validation_err = 1;
+ }
+
if (EBIT_TEST(entry->flags, ENTRY_REVALIDATE) && staleness > -1
#if USE_HTTP_VIOLATIONS
&& !R->flags.ignore_must_revalidate