r2994 - in trunk/varnish-cache: etc man

petter at projects.linpro.no petter at projects.linpro.no
Wed Jul 23 11:07:25 CEST 2008


Author: petter
Date: 2008-07-23 11:07:24 +0200 (Wed, 23 Jul 2008)
New Revision: 2994

Modified:
   trunk/varnish-cache/etc/default.vcl
   trunk/varnish-cache/man/vcl.7
Log:
Updated the default.vcl and man page with the latest config from mgt_vcc.c.
The following perl one-liner is useful:
perl -ne 'if( $print == 1 ) { exit if( /^$/ ); eval "print " . $_; } $print = 1 if /default_vcl/;' mgt_vcc.c 
Fixes #135 (for now)


Modified: trunk/varnish-cache/etc/default.vcl
===================================================================
--- trunk/varnish-cache/etc/default.vcl	2008-07-22 14:40:33 UTC (rev 2993)
+++ trunk/varnish-cache/etc/default.vcl	2008-07-23 09:07:24 UTC (rev 2994)
@@ -20,16 +20,25 @@
 ## Called when a client request is received
 #
 #sub vcl_recv {
-#	if (req.request != "GET" && req.request != "HEAD") {
-#		pipe;
-#	}
-#	if (req.http.Expect) {
-#		pipe;
-#	}
-#	if (req.http.Authenticate || req.http.Cookie) {
-#		pass;
-#	}
-#	lookup;
+#    if (req.request != "GET" &&
+#      req.request != "HEAD" &&
+#      req.request != "PUT" &&
+#      req.request != "POST" &&
+#      req.request != "TRACE" &&
+#      req.request != "OPTIONS" &&
+#      req.request != "DELETE") {
+#        pipe;
+#    }
+#    if (req.http.Expect) {
+#        pipe;
+#    }
+#    if (req.request != "GET" && req.request != "HEAD") {
+#        pass;
+#    }
+#    if (req.http.Authorization || req.http.Cookie) {
+#        pass;
+#    }
+#    lookup;
 #}
 #
 ## Called when entering pipe mode
@@ -47,9 +56,13 @@
 ## Called when entering an object into the cache
 #
 #sub vcl_hash {
-#	set req.hash += req.url;
-#	set req.hash += req.http.host;
-#	hash;
+#    set req.hash += req.url;
+#    if (req.http.host) {
+#        set req.hash += req.http.host;
+#    } else {
+#        set req.hash += server.ip;
+#    }
+#    hash;
 #}
 #
 ## Called when the requested object was found in the cache
@@ -71,19 +84,18 @@
 ## backend, or the request to the backend has failed
 #
 #sub vcl_fetch {
-#	if (!obj.valid) {
-#		error;
-#	}
-#	if (!obj.cacheable) {
-#		pass;
-#	}
-#	if (obj.http.Set-Cookie) {
-#		pass;
-#	}
-#	insert;
+#    if (!obj.valid) {
+#        error obj.status;
+#    }
+#    if (!obj.cacheable) {
+#        pass;
+#    }
+#    if (obj.http.Set-Cookie) {
+#        pass;
+#    }
+#	 set obj.prefetch =  -30s;    insert;
 #}
 #
-#
 ## Called before a cached object is delivered to the client
 #
 #sub vcl_deliver {
@@ -96,7 +108,7 @@
 #	discard;
 #}
 #
-## Called when an object is about to be discarded
+# Called when an object is about to be discarded
 #
 #sub vcl_discard {
 #    discard;

Modified: trunk/varnish-cache/man/vcl.7
===================================================================
--- trunk/varnish-cache/man/vcl.7	2008-07-22 14:40:33 UTC (rev 2993)
+++ trunk/varnish-cache/man/vcl.7	2008-07-23 09:07:24 UTC (rev 2994)
@@ -507,15 +507,24 @@
 }
 
 sub vcl_recv {
-    if (req.request != "GET" && req.request != "HEAD") {
+    if (req.request != "GET" &&
+      req.request != "HEAD" &&
+      req.request != "PUT" &&
+      req.request != "POST" &&
+      req.request != "TRACE" &&
+      req.request != "OPTIONS" &&
+      req.request != "DELETE") {
         pipe;
     }
     if (req.http.Expect) {
         pipe;
     }
-    if (req.http.Authenticate || req.http.Cookie) {
+    if (req.request != "GET" && req.request != "HEAD") {
         pass;
     }
+    if (req.http.Authorization || req.http.Cookie) {
+        pass;
+    }
     lookup;
 }
 
@@ -529,7 +538,11 @@
 
 sub vcl_hash {
     set req.hash += req.url;
-    set req.hash += req.http.host;
+    if (req.http.host) {
+        set req.hash += req.http.host;
+    } else {
+        set req.hash += server.ip;
+    }
     hash;
 }
 
@@ -546,7 +559,7 @@
 
 sub vcl_fetch {
     if (!obj.valid) {
-        error;
+        error obj.status;
     }
     if (!obj.cacheable) {
         pass;
@@ -554,18 +567,18 @@
     if (obj.http.Set-Cookie) {
         pass;
     }
-    insert;
+	 set obj.prefetch =  -30s;    insert;
 }
 
 sub vcl_deliver {
     deliver;
 }
 
-sub vcl_timeout {
+sub vcl_discard {
     discard;
 }
 
-sub vcl_discard {
+sub vcl_timeout {
     discard;
 }
 .Ed




More information about the varnish-commit mailing list