From 537a359d586c3596e0dc1af74bb04b50a84c94ec Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Mon, 2 Oct 2006 08:53:30 +0000 Subject: [PATCH] expires max --- src/http/modules/ngx_http_headers_filter_module.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/http/modules/ngx_http_headers_filter_module.c b/src/http/modules/ngx_http_headers_filter_module.c index 0659910c8..8d17b43fa 100644 --- a/src/http/modules/ngx_http_headers_filter_module.c +++ b/src/http/modules/ngx_http_headers_filter_module.c @@ -26,6 +26,7 @@ typedef struct { #define NGX_HTTP_EXPIRES_UNSET -2147483647 #define NGX_HTTP_EXPIRES_OFF -2147483646 #define NGX_HTTP_EXPIRES_EPOCH -2147483645 +#define NGX_HTTP_EXPIRES_MAX -2147483644 static void *ngx_http_headers_create_conf(ngx_conf_t *cf); @@ -177,6 +178,13 @@ ngx_http_headers_filter(ngx_http_request_t *r) cc->value.len = sizeof("no-cache") - 1; cc->value.data = (u_char *) "no-cache"; + } else if (conf->expires == NGX_HTTP_EXPIRES_MAX) { + expires->value.data = (u_char *) "Thu, 31 Dec 2037 23:55:55 GMT"; + + /* 10 years */ + cc->value.len = sizeof("max-age=315360000") - 1; + cc->value.data = (u_char *) "max-age=315360000"; + } else { expires->value.data = ngx_palloc(r->pool, len); if (expires->value.data == NULL) { @@ -349,6 +357,11 @@ ngx_http_headers_expires(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) return NGX_CONF_OK; } + if (ngx_strcmp(value[1].data, "max") == 0) { + hcf->expires = NGX_HTTP_EXPIRES_MAX; + return NGX_CONF_OK; + } + if (ngx_strcmp(value[1].data, "off") == 0) { hcf->expires = NGX_HTTP_EXPIRES_OFF; return NGX_CONF_OK;