Implementing esi onerror="continue" in vcl_backend_response using synthetic
    Andrew Bailey 
    andrew.bailey at apps4u.co
       
    Tue Feb 16 19:51:43 CET 2016
    
    
  
Hi,
I am using varnish 4.1 and would like to implement something similar to
<esi:include src="apage-head.html" onerror="continue"/>
which does not appear to be supported yet.
I have:
sub vcl_backend_response {
        if (bereq.url ~ "-head.html$"  && beresp.status==404)
        #if (req.esi_level>0  && beresp.status==404) //Commented as
Variable not available
        {
                #set beresp.status = 700; //this is for attempts to forward
to vcl_synth
                set beresp.status = 200;
                set beresp.http.Content-Type = "text/html; charset=utf-8";
                set beresp.reason="esi include failed with a 404";
                #synthetic("<!-- esi include failed with a 404-->"); # not
a valid action from method
                #call vcl_synth; # still cant use synthetic
                #call vcl_backend_error; #ditto
                return (deliver);
        }
I think it should be valid to call synthetic here, any chance of this for a
future version?
Also I tried to see if it is in the middle of esi processing using
req.esi_level however that is not available in this method.
 I have tried several workarounds
return(synth ...)
call vcl_synth
but no luck.
Can anyone provide a working solution.
thanks in advance
Andrew Bailey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20160216/8238ea84/attachment.html>
    
    
More information about the varnish-misc
mailing list