Actions¶
Actions are used with the return(<action>)
keyword, which returns
control from subroutines back to varnish. The action determines how
processing in varnish continues as shown in Varnish Processing States.
Common actions are documented here, while additional actions specific to only one or some subroutines are documented in Built-in subroutines as well as which action can be used from which built in subroutine.
common actions for the client and backend side¶
common actions for the client side¶
synth(status code, reason)
¶
Transition to vcl_synth with
resp.status
andresp.reason
being preset to the arguments ofsynth()
.
pass
¶
Switch to pass mode, making the current request not use the cache and not putting its response into it. Control will eventually pass to vcl_pass.
restart
¶
Restart the transaction. Increases the
req.restarts
counter.If the number of restarts is higher than the max_restarts parameter, control is passed to vcl_synth as for
return(synth(503, "Too many restarts"))
For a restart, all modifications to
req
attributes are preserved except forreq.restarts
andreq.xid
, which need to change by design.