across all Squid processes.
COMMENT_END
-NAME: collapsed_forwarding
-TYPE: obsolete
-DOC_START
- This option is not yet supported by Squid-3. see http://bugs.squid-cache.org/show_bug.cgi?id=3495
-DOC_END
-
+ # options still not yet ported from 2.7 to 3.x
+ NAME: broken_vary_encoding
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ NAME: cache_vary
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ NAME: error_map
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ NAME: external_refresh_check
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ NAME: ignore_ims_on_miss
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ NAME: location_rewrite_program location_rewrite_access location_rewrite_children location_rewrite_concurrency
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ NAME: refresh_stale_hit
+ TYPE: obsolete
+ DOC_START
+ This option is not yet supported by Squid-3.
+ DOC_END
+
+ # no Options Removed in 3.3
+
# Options Removed in 3.2
NAME: ignore_expect_100
TYPE: obsolete
* so make a fake one.
*/
- if (http->request == NULL)
- http->request = HTTPMSGLOCK(new HttpRequest(m, AnyP::PROTO_NONE, null_string));
+ if (http->request == NULL) {
+ http->request = new HttpRequest(m, AnyP::PROTO_NONE, null_string);
+ HTTPMSGLOCK(http->request);
+ }
- StoreEntry *e = storeCreateEntry(http->uri, http->log_uri, reqFlags, m);
+ StoreEntry *e = storeCreateEntry(storeId(), http->log_uri, reqFlags, m);
+ // Make entry collapsable ASAP, to increase collapsing chances for others.
+ // TODO: why is !.needValidation required here?
+ if (Config.onoff.collapsed_forwarding && reqFlags.cachable &&
+ !reqFlags.needValidation &&
+ (m == Http::METHOD_GET || m == Http::METHOD_HEAD)) {
+ // make the entry available for future requests now
+ Store::Root().allowCollapsing(e, reqFlags, m);
+ }
+
sc = storeClientListAdd(e, this);
#if USE_DELAY_POOLS
serverConnection->close();
}
+/// Remove an existing public store entry if the incoming response (to be
+/// stored in a currently private entry) is going to invalidate it.
static void
- httpMaybeRemovePublic(StoreEntry * e, http_status status)
+ httpMaybeRemovePublic(StoreEntry * e, Http::StatusCode status)
{
int remove = 0;
int forbidden = 0;