Commit f95af2f6 authored by Nils Goroll's avatar Nils Goroll

Support backend None

since varnish-cache ecef48518f3b3f4bbf28256e090bdbb5cd2b163c backends
can be NULL (as defined with backend <name> None)
parent 24e35725
...@@ -4,6 +4,7 @@ varnishtest "backend() method" ...@@ -4,6 +4,7 @@ varnishtest "backend() method"
varnish v1 -vcl { varnish v1 -vcl {
import ${vmod_selector}; import ${vmod_selector};
backend b1 { .host = "${bad_ip}"; } backend b1 { .host = "${bad_ip}"; }
backend b2 { .host = "${bad_ip}"; } backend b2 { .host = "${bad_ip}"; }
backend b3 { .host = "${bad_ip}"; } backend b3 { .host = "${bad_ip}"; }
...@@ -247,11 +248,13 @@ logexpect l1 -wait ...@@ -247,11 +248,13 @@ logexpect l1 -wait
varnish v1 -vcl { varnish v1 -vcl {
import ${vmod_selector}; import ${vmod_selector};
backend b { .host = "${bad_ip}"; } backend b { .host = "${bad_ip}"; }
backend b0 None;
sub vcl_init { sub vcl_init {
new s = selector.set(); new s = selector.set();
s.add("foo", backend=b); s.add("foo", backend=b);
s.add("bar"); s.add("bar");
s.add("bazz", backend=b0);
} }
sub vcl_recv { sub vcl_recv {
...@@ -282,6 +285,11 @@ client c1 { ...@@ -282,6 +285,11 @@ client c1 {
rxresp rxresp
expect resp.status == 200 expect resp.status == 200
expect resp.http.Backend == "" expect resp.http.Backend == ""
txreq -hdr "Word: bazz"
rxresp
expect resp.status == 200
expect resp.http.Backend == ""
} -run } -run
logexpect l1 -wait logexpect l1 -wait
...@@ -670,7 +670,7 @@ vmod_set_backend(VRT_CTX, struct vmod_selector_set *set, VCL_INT n, ...@@ -670,7 +670,7 @@ vmod_set_backend(VRT_CTX, struct vmod_selector_set *set, VCL_INT n,
return (NULL); return (NULL);
b = set->table[idx]->backend; b = set->table[idx]->backend;
CHECK_OBJ_NOTNULL(b, DIRECTOR_MAGIC); CHECK_OBJ_ORNULL(b, DIRECTOR_MAGIC);
return (b); return (b);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment