OSDN Git Service

* image cache for mod_cache, mod_mem_cache, mod_disk_cache.
authorAtsushi Konno <konn@users.sourceforge.jp>
Fri, 25 Feb 2011 20:08:52 +0000 (05:08 +0900)
committerAtsushi Konno <konn@users.sourceforge.jp>
Fri, 25 Feb 2011 20:08:52 +0000 (05:08 +0900)
src/chxj_img_conv_format.c

index be418c1..2f9a1c8 100644 (file)
@@ -1619,6 +1619,14 @@ s_send_cache_file(device_table *spec, query_string_param_t *query_string, reques
   DBG(r, "REQ[%X] offset:[%ld]", TO_ADDR(r), query_string->offset);
   DBG(r, "REQ[%X] count:[%ld]",  TO_ADDR(r), query_string->count);
 
+  /* for mod_cache */
+  {
+    apr_table_setn(r->headers_out, "Vary", "User-Agent");
+    apr_table_setn(r->err_headers_out, "Vary", "User-Agent");
+    ap_update_mtime(r, st.mtime);
+    ap_set_last_modified(r);
+  }
+
   if (query_string->mode != IMG_CONV_MODE_EZGET && query_string->name == NULL) {
     contentLength = apr_psprintf(r->pool, "%d", (int)st.size);
     apr_table_setn(r->headers_out, "Content-Length", (const char*)contentLength);
@@ -1751,6 +1759,14 @@ s_send_original_file(request_rec *r, const char *originalfile)
   if (rv != APR_SUCCESS)
     return HTTP_NOT_FOUND;
 
+  /* for mod_cache */
+  {
+    apr_table_setn(r->headers_out, "Vary", "User-Agent");
+    apr_table_setn(r->err_headers_out, "Vary", "User-Agent");
+    ap_update_mtime(r, st.mtime);
+    ap_set_last_modified(r);
+  }
+
   rv = apr_file_open(&fout, originalfile, 
     APR_READ | APR_BINARY, APR_OS_DEFAULT, r->pool);
   if (rv != APR_SUCCESS) {