You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Sevo Stille <se...@inm.de> on 1997/02/28 00:30:01 UTC
mod_expires/208: Add an option "never" to Expires
>Number: 208
>Category: mod_expires
>Synopsis: Add an option "never" to Expires
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: apache (Apache HTTP Project)
>State: open
>Class: change-request
>Submitter-Id: apache
>Arrival-Date: Thu Feb 27 15:30:01 1997
>Originator: sevo@inm.de
>Organization:
apache
>Release: 1.2
>Environment:
[recreated from cached copy of PR#96, originally
submitted on Wed Jan 8 03:00:01 1997 and lost from
GNATS on Thu Feb 27 1997]
>Description:
Netscape still has problems with animated GIF's which have an expiration date,
causing it to request the image at every iteration of the loop. Putting the
expires date into the remote future doesn't help, and moving the image to
another directory without expiration may not be a viable option. Since the
ability to mix expiring and none-expiring documents in one directory may be
desirable in other contexts as well, I propose adding an option "never" to
the expires module.
>How-To-Repeat:
>Fix:
The following patch will add an option never, which doesn't send
an Expires header for the selected files, to mod_expires.c.
Please note that 'n' as a shorthand form for 'now' won't work
any more after the patch has been applied.
--- mod_expires.c Wed Dec 4 23:56:24 1996
+++ mod_expires.c Wed Jan 8 11:42:32 1997
@@ -124,6 +124,7 @@
* access
* now equivalent to 'access'
* modification
+ * never don't send an Expires header
*
* where the 'plus' keyword is optional
*
@@ -256,11 +257,13 @@
/* <base>
*/
word = getword_conf( pool, &code );
- if ( !strncasecmp( word, "now", 1 ) ||
+ if ( !strncasecmp( word, "now", 2 ) ||
!strncasecmp( word, "access", 1 ) ) {
base = 'A';
} else if ( !strncasecmp( word, "modification", 1 ) ) {
base = 'M';
+ } else if ( !strncasecmp( word, "never", 2 ) ) {
+ base = 'N';
} else {
return pstrcat( pool, "bad expires code, unrecognised <base> '",
word, "'", NULL);
@@ -430,6 +433,11 @@
/* we have our code */
switch (code[0]) {
+ case 'N':
+ /* never - don't return the expires header
+ */
+ return OK;
+ break;
case 'M':
base = r->finfo.st_mtime;
additional = atoi( &code[1] );
%0
>Audit-Trail:
>Unformatted: