Hi all
Here's a function from store.cc (squid3)
For such a simple thing, it's quite frustrating.
I assume it's supposed to tell you whether a store entry has been
modified since the "If-Modified-Since" time specified in the request.
1. It's looking at content_length for some reason
2. It's looking at imslen (whatever that is) for some reason
What has object length got to do with it?
Thanks
Doug
--- bool StoreEntry::modifiedSince(HttpRequest * request) const { int object_length; time_t mod_time = lastmod; if (mod_time < 0) mod_time = timestamp; debug(88, 3) ("modifiedSince: '%s'\n", storeUrl(this)); debug(88, 3) ("modifiedSince: mod_time = %ld\n", (long int) mod_time); if (mod_time < 0) return true; /* Find size of the object */ object_length = getReply()->content_length; if (object_length < 0) object_length = contentLen(this); if (mod_time > request->ims) { debug(88, 3) ("--> YES: entry newer than client\n"); return true; } else if (mod_time < request->ims) { debug(88, 3) ("--> NO: entry older than client\n"); return false; } else if (request->imslen < 0) { debug(88, 3) ("--> NO: same LMT, no client length\n"); return false; } else if (request->imslen == object_length) { debug(88, 3) ("--> NO: same LMT, same length\n"); return false; } else { debug(88, 3) ("--> YES: same LMT, different length\n"); return true; } }Received on Sun Apr 30 2006 - 22:45:25 MDT
This archive was generated by hypermail pre-2.1.9 : Mon May 01 2006 - 12:00:04 MDT