Streaming and backend conditional requests

Poul-Henning Kamp phk at
Sat Jan 14 20:07:54 CET 2012

In message <5EBB67DC-B916-4BC2-9C9A-10205EDF713C at>, Artur Bergman 

>Couple of points.
>I agree with all, except I think they should be delivered through =
>vcl_deliver, or you have to duplicate header logic in both of them.

Presently we allow limited obj.* access in vcl_deliver{}, but that's
actually limited to the obj.hits and obj.lastuse variables which are
under dispute for causing write-backs to object storage.

So if we eliminate those two, using vcl_deliver{} should be feasible.

>Regarding ESI, as long as an ESI can have an fragment be a synth reply, =
>I am happy.

It can, but the synth reply cannot be ESI parsed.

I did consider the alternative, where you call synth() from vcl_recv{}
and then go from there to vcl_fetch{}, in essense making synth{} a
virtual backend.

Would that be better ?

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the varnish-dev mailing list