Provided by: varnish-modules_0.12.1-1build1_amd64
NAME
vmod_header - Header VMOD for Varnish
SYNOPSIS
import header [from "path"] ;
DESCRIPTION
Varnish Module for manipulation of duplicated HTTP headers, for instance multiple Set-Cookie headers. Example: vcl 4.0; import header; backend default { .host = "192.0.2.11"; .port = "8080"; } sub vcl_backend_response { if (beresp.http.Set-Cookie) { # Add another line of Set-Cookie in the response. header.append(beresp.http.Set-Cookie, "VSESS=abbabeef"); # CMS always set this, but doesn't really need it. header.remove(beresp.http.Set-Cookie, "JSESSIONID="); } }
CONTENTS
• VOID append(HEADER, STRING) • VOID copy(HEADER, HEADER) • STRING get(PRIV_CALL, HEADER, STRING) • VOID remove(PRIV_CALL, HEADER, STRING) append VOID append(HEADER, STRING) Description Append an extra occurrence to an existing header. Example :: header.append(beresp.http.Set-Cookie, "foo=bar") copy VOID copy(HEADER, HEADER) Description Copy all source headers to a new header. Example :: header.copy(beresp.http.set-cookie, beresp.http.x-old-cookie); get STRING get(PRIV_CALL, HEADER header, STRING regex) Description Fetches the value of the first header that matches the given regular expression regex. Example :: set beresp.http.xusr = header.get(beresp.http.set-cookie,"user="); remove VOID remove(PRIV_CALL, HEADER header, STRING regex) Description Remove all occurences of header that matches regex. Example :: header.remove(beresp.http.set-cookie,"^(?!(funcookie=))");
ACKNOWLEDGEMENTS
The development of this plugin was made possible by the sponsorship of Softonic, http://en.softonic.com/ . Also thanks to Imo Klabun and Anders Nordby for bug reports.
BUGS
You can't use dynamic regular expressions, which also holds true for normal regular expressions in regsub(). VMOD_HEADER(3)