Skip to content

Instantly share code, notes, and snippets.

View aondio's full-sized avatar

arianna-aondio aondio

View GitHub Profile
varnishtest "Cut off ESI request should be retried"
server s1 {
rxreq
expect req.url == "/list"
txresp -body {<esi:include src="/fragment"/>}
rxreq
expect req.url == "/fragment"
txresp -status 503
import std;
sub vcl_recv {
if (!std.healthy(req.backend_hint)) {
set req.grace = 4h;
}
sub vcl_backend_response {
varnishtest "implementing x-accel-redirect"
server s1 {
rxreq
expect req.url == "/s1"
txresp -hdr "X-Accel-Redirect: /s2"
rxreq
expect req.url == "/s2"
txresp
} -start
VCP layer:
v_b_r:
# Simply use caching headers. Nothing relevant here.
if beresp.http.X-VCP-Ttl > 0:
beresp.ttl = beresp.http.X-VCP-Ttl
beresp.grace = beresp.http.X-VCP-Grace
beresp.keep = beresp.http.X-VCP-Keep
else:
# Let built-in VCL transform this in a HFM.
varnishtest "Get YKeys from Origin server"
server s1 {
rxreq
txresp -hdr "ykey: BOB TOM"
} -start
varnish v1 -vcl+backend {
import ykey;
varnishtest "Test HTTP vmod CUSTOM request"
server s1 {
rxreq
txresp -status 601
} -start
server s2 {
rxreq
txresp -status 602 -reason "PURGE ok"
varnishtest "Goto and fallbacks"
server s1 {
rxreq
txresp -hdr "backend:s1"
expect req.url == "/client"
rxreq
txresp -status 404 -hdr "backend:s1"
@aondio
aondio / Edgestash and conditional reqs
Created March 24, 2021 08:27
Edgestash and conditional reqs
varnishtest "Conditional Edgestash test"
server s1 {
rxreq
txresp -hdr "Etag: \"100\"" -hdr "bstatus: 200" -hdr "Content-Type: json" -body "Hello, {{first}} {{last}}!"
expect req.url == "/page.es"
rxreq
txresp -hdr "Etag: \"200\"" -body {
{
varnishtest "shard director by req.url (default)"
server s1 {
rxreq
expect req.url == "/s1"
expect req.http.Host == "host1"
txresp -status 404 -hdr "Server: s1" -body "server1"
} -start
server s2 {
@aondio
aondio / MSE governor and selection
Created March 26, 2021 09:12
MSE governor and selection
mse.conf:
=========
env: {
id = "my_mse_id";
memcache_size = "auto";
books = ( {
id = "small";