File: server\util_script.c =========================== 591: else if (!strcasecmp(w, "Transfer-Encoding")) { 592: apr_table_set(r->headers_out, w, l); 593: } 594:+ else if (!strcasecmp(w, "Age")) { 595:+ apr_table_set(r->headers_out, w, l); 596:+ } 597:+ else if (!strcasecmp(w, "Expires")) { 598:+ apr_table_set(r->headers_out, w, l); 599:+ } File modules\experimental\cache_util.c ====================================== 166: const char *agestr = NULL; 167:+ const char *exps; 168: char *val; 207: if ((agestr = apr_table_get(r->headers_out, "Age"))) { 208: age_c = apr_atoi64(agestr); 209: } 210: 211:+ /* Extract "Expires" from the response header for determining Heuristic expiration condition */ 212:+ exps = apr_table_get(r->headers_out, "Expires"); 271: /* add warning if maxstale overrode freshness calculation */ 272: if (!((-1 < smaxage && age < smaxage) || 273: (-1 < maxage && age < maxage) || 274: (info->expire != APR_DATE_BAD && (info->expire - info->date) > age))) { 275: /* make sure we don't stomp on a previous warning */ 276: apr_table_merge(r->headers_out, "Warning", "110 Response is stale"); 277: } 278:+ 279:+ /* 280:+ * If none of Expires, Cache-Control: max-age, or Cache-Control: 281:+ * s-maxage appears in the response, and the respose header age 282:+ * calculated is more than 24 hours add the warning 113 283:+ */ 284:+ if((maxage_cresp == -1) && (smaxage == -1) && 285:+ (exps == NULL) && (age > 86400)) { 286:+ apr_table_merge(r->headers_out, "Warning", "113 Heuristic expiration"); 287:+ } 289:+ 290: return 1; /* Cache object is fresh */ 272: }