[4.0] a077da7 Use pipe for chunked POST/PUT requests.

Lasse Karstensen lkarsten at varnish-software.com
Tue Apr 1 15:09:51 CEST 2014


commit a077da7c9561299a4727387785cbe8f3211d6722
Author: Lasse Karstensen <lkarsten at varnish-software.com>
Date:   Thu Mar 20 12:40:40 2014 +0100

    Use pipe for chunked POST/PUT requests.
    
    We don't know how to handle incoming chunked bodies currently, but the backend
    might.

diff --git a/bin/varnishd/builtin.vcl b/bin/varnishd/builtin.vcl
index 3949689..71e01f7 100644
--- a/bin/varnishd/builtin.vcl
+++ b/bin/varnishd/builtin.vcl
@@ -55,6 +55,13 @@ sub vcl_recv {
         /* Non-RFC2616 or CONNECT which is weird. */
         return (pipe);
     }
+
+    /* We don't support chunked uploads, except when piping. */
+    if ((req.request == "POST" || req.request == "PUT") &&
+      req.http.transfer-encoding ~ "chunked") {
+        return(pipe);
+    }
+
     if (req.method != "GET" && req.method != "HEAD") {
         /* We only deal with GET and HEAD by default */
         return (pass);



More information about the varnish-commit mailing list