<div dir="ltr">Hi,<div><br></div><div>I have been reading quite a bit about Varnish and VCL but found almost no examples with Cache-Control coming from the client request [1].</div><div><br></div><div>What I want to achieve: if the client sends Cache-Control: max-age=60, TTL becomes 60 s. If the cache hit is fresher than 60 s, deliver it, otherwise fetch a new response from backend (I hope I'm not misusing the VCL terms here) *and* cache it.</div><div><br></div><div>I had hacked this together in the vcl_fetch section in Varnish 3.x by setting the req.http.Cache-Control max-age value as beresp.ttl, but vcl_fetch is gone in Varnish 4.x.</div><div><br></div><div>I have received a suggestion to use vcl_hit and/or grace [2], but again -- no examples...</div><div><br></div><div>Could anyone provide some VCL pseudo-code that uses req.http.Cache-Control value to override TTL? max-age number parsing not necessary, I have figure that out.</div><div><br></div><div>Thanks,</div><div><br></div><div>Martynas</div><div><br></div><div>[1] <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#Cache_request_directives">https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#Cache_request_directives</a></div><div>[2] <a href="https://github.com/varnishcache/varnish-cache/issues/2014#issuecomment-319096566">https://github.com/varnishcache/varnish-cache/issues/2014#issuecomment-319096566</a></div></div>