Addition to the HTCache API.

Hello,

I've been working with the HTTP Cache and I needed to be able to set the
default expiration time from my client. Of course, default expiration times
for cached items are not a good thing in general, but it seems that if you're
going to have one at all it might as well be something the client can set.
Here's a patch for HTCache.html,c that adds two functions which can be used to
set the DefaultExpiration private member.

HTCacheMode_setDefaultExpiration(const int) sets the default expiration and
HTCacheMode_defaultExpiration() returns it.

James
--- src-old/HTCache.c	Tue Mar 14 20:58:49 2000
+++ src/HTCache.c	Mon Mar 27 15:54:23 2000
@@ -883,6 +883,19 @@
 }
 
 /*
+** Set the default expiration time. In seconds.
+*/
+PUBLIC void HTCacheMode_setDefaultExpiration (const int exp_time)
+{
+    DefaultExpiration = exp_time;
+}
+
+PUBLIC int HTCacheMode_DefaultExpiration (void)
+{
+    return DefaultExpiration;
+}
+
+/*
 **  Cache size management. We set the default cache size to 20M.
 **  We set the minimum size to 5M in order not to get into weird
 **  problems while writing the cache. The size is indicated in Mega
--- src-old/HTCache.html	Tue Mar 28 09:31:20 2000
+++ src/HTCache.html	Mon Mar 27 15:54:23 2000
@@ -140,6 +140,13 @@
 extern void HTCacheMode_setExpires (HTExpiresMode mode);
 extern HTExpiresMode HTCacheMode_expires (void);
 </PRE>
+If a response does not arrive with an expiration time and does not
+explicitly forbid its being cached, use the default expiration time. The
+time is given in seconds (e.g., 3,600 is one hour).
+<PRE>
+extern void HTCacheMode_setDefaultExpiration (const int exp_time);
+extern int HTCacheMode_DefaultExpiration (void);
+</PRE>
 <H3>
   Disconnected Operation
 </H3>

Received on Tuesday, 28 March 2000 12:38:33 UTC