MINOR: lua: Make `set_var()` and `unset_var()` return success
This patch makes `set_var()` and `unset_var()` return a boolean indicating
success.
diff --git a/reg-tests/lua/set_var.lua b/reg-tests/lua/set_var.lua
new file mode 100644
index 0000000..78d1fd4
--- /dev/null
+++ b/reg-tests/lua/set_var.lua
@@ -0,0 +1,12 @@
+core.register_service("set_var", "http", function(applet)
+ local var_name = applet.headers["var"][0]
+ local result = applet:set_var(var_name, "value")
+ if result then
+ applet:set_status(202)
+ else
+ applet:set_status(400)
+ end
+ applet:add_header("echo", applet:get_var(var_name) or "(nil)")
+ applet:start_response()
+ applet:send("")
+end)
diff --git a/reg-tests/lua/set_var.vtc b/reg-tests/lua/set_var.vtc
new file mode 100644
index 0000000..2f1ba4e
--- /dev/null
+++ b/reg-tests/lua/set_var.vtc
@@ -0,0 +1,29 @@
+varnishtest "Lua: set_var"
+#REQUIRE_OPTIONS=LUA
+
+feature ignore_unknown_macro
+
+haproxy h1 -conf {
+ global
+ lua-load ${testdir}/set_var.lua
+
+ frontend fe1
+ mode http
+ ${no-htx} option http-use-htx
+ bind "fd@${fe1}"
+
+ http-request use-service lua.set_var
+} -start
+
+client c0 -connect ${h1_fe1_sock} {
+ txreq -url "/" \
+ -hdr "Var: txn.foo"
+ rxresp
+ expect resp.status == 202
+ expect resp.http.echo == "value"
+ txreq -url "/" \
+ -hdr "Var: invalid.var"
+ rxresp
+ expect resp.status == 400
+ expect resp.http.echo == "(nil)"
+} -run