vcl_error with streaming

Tollef Fog Heen tfheen at
Thu Jan 12 12:58:52 CET 2012

We have talked a bit about how vcl_error interacts with streaming, and
the idea so far has been to remove vcl_error and add a synthetic
capability to vcl_deliver.  Last night, phk had an idea and he and I had
a chat about how we could go about not getting rid of vcl_error and its
implications.  Further, we had a bit of discussion in the office this
morning about this and some sort of consensus emerged.

- vcl_error stays, but delivers directly and does not pass vcl_deliver.
  vcl_error is an error handler and should not be used for redirects and

- vcl_synth is added, for any kind of synthetic content, typically
  redirects.  The default vcl_synth can include the necessary couple of
  lines to handle redirects directly, so you can then just do
  return(synth(301, "")); wherever you want to

Both vcl_error and vcl_synth terminate and does not go through
vcl_deliver, vcl_fetch or any other place.

Does this sound roughly sane (and could Kristian and Martin please
correct any inaccuracies)?

Tollef Fog Heen
Technical lead, Varnish Software
t: +47 21 98 92 64

More information about the varnish-dev mailing list