aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-10-02 08:53:30 +0000
committerIgor Sysoev <igor@sysoev.ru>2006-10-02 08:53:30 +0000
commit8c0dec813f2ce4b29c94452dfda16908a3927800 (patch)
tree1f751fdc65588ad9107624959bd8ee9f15b9f6f1
parent50cc0c946ea384cb37a8417e905936a18d1c01f8 (diff)
downloadnginx-8c0dec813f2ce4b29c94452dfda16908a3927800.tar.gz
nginx-8c0dec813f2ce4b29c94452dfda16908a3927800.zip
expires max
-rw-r--r--src/http/modules/ngx_http_headers_filter_module.c13
1 files changed, 13 insertions, 0 deletions
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;