vmod_session
is a small VMOD that lets manipulate session local variables. For now only
the idle timout can be accessed.
To set the connection timeout, use session.set_timeout_idle()
.
The timeout will be set for the current session only, and will silently fail if the session is not available in the current VCL sub.
sub vcl_recv {
if(...) {
session.set_timeout_idle(300s);
}
}
To get the connection timeout use session.get_timeout_idle()
.
If no session is available in the VCL sub, or if the timeout for this session has not been set in VCL, the default timeout will be returned.
sub vcl_deliver {
set resp.http.x-timeout-idle = session.get_timeout_idle();
}
If you want to know if the session timeout is set, use session.is_timeout_set()
.
This function returns true if the idle timout has been set for the session. The return value is always false if called from a VCL sub where the session is not available.
sub vcl_deliver {
set resp.http.x-is-session-timeout-set = session.is_timeout_set();
}