Commit 50304488 authored by Nils Goroll's avatar Nils Goroll Committed by Pål Hermunn Johansen

add std.getenv()

Merges #2152
parent 3e4cd0b2
varnishtest "Test std.getenv"
varnish v1 -vcl {
import std;
backend dummy { .host = "${bad_ip}"; .port = "9080"; }
sub vcl_recv {
return(synth(200));
}
sub vcl_synth {
set resp.http.X-PATH = std.getenv("PATH");
}
} -start
client c1 {
txreq
rxresp
expect resp.http.X-PATH ~ "^/"
} -run
......@@ -269,6 +269,14 @@ Example
| ...
| }
$Function STRING getenv(STRING name)
Description
Return environment variable *name* or the empty string.
See getenv(3)
Example
| set req.http.My-Env = getenv("MY_ENV");
SEE ALSO
========
......
......@@ -253,3 +253,12 @@ vmod_strstr(VRT_CTX, VCL_STRING s1, VCL_STRING s2)
return (NULL);
return (strstr(s1, s2));
}
VCL_STRING __match_proto__(td_std_getenv)
vmod_getenv(VRT_CTX, VCL_STRING name)
{
CHECK_OBJ_NOTNULL(ctx, VRT_CTX_MAGIC);
if (name == NULL || *name == '\0')
return (NULL);
return (getenv(name));
}
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