<dd>If this request header exists, its value is transformed according
to a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>
search-and-replace. The <var>value</var> argument is a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>, and the <var>replacement</var>
is a replacement string, which may contain backreferences.</dd>
</dl>
<dt><code>merge</code></dt>
<dd>The response header is appended to any existing header of
the same name, unless the value to be appended already appears in the
@@ -242,31 +258,15 @@ headers</td></tr>
all format specifiers have been processed. Values in double quotes
are considered different from otherwise identical unquoted values.</dd>
<dt><code>add</code></dt>
<dd>The response header is added to the existing set of headers,
even if this header already exists. This can result in two
(or more) headers having the same name. This can lead to
unforeseen consequences, and in general <code>set</code>,
<code>append</code> or <code>merge</code> should be used instead.</dd>
<dt><code>set</code></dt>
<dd>The response header is set, replacing any previous header
with this name. The <var>value</var> may be a format string.</dd>
<dt><code>unset</code></dt>
<dd>The response header of this name is removed, if it exists.
If there are multiple headers of the same name, all will be
removed. <var>value</var> must be omitted.</dd>
<dt><code>echo</code></dt>
<dd>Request headers with this name are echoed back in the
<dd>If this request header exists, its value is transformed according
to a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>
search-and-replace. The <var>value</var> argument is a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>, and the <var>replacement</var>
is a replacement string, which may contain backreferences.</dd>
</dl>
<p>This argument is followed by a <var>header</var> name, which
can include the final colon, but it is not required. Case is
ignored for <code>set</code>, <code>append</code>, <code>merge</code>,
<dd>The request header is set, replacing any previous header
with this name</dd>
<dt><code>add</code></dt>
<dd>The request header is added to the existing set of headers,
even if this header already exists. This can result in two
(or more) headers having the same name. This can lead to
unforeseen consequences, and in general <code>set</code>,
<code>append</code> or <code>merge</code> should be used instead.</dd>
<dt><code>append</code></dt>
<dd>The request header is appended to any existing header of the
@@ -362,6 +366,13 @@ headers</td></tr>
is the HTTP standard way of giving a header multiple
values.</dd>
<dt><code>edit</code></dt>
<dd>If this request header exists, its value is transformed according
to a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>
search-and-replace. The <var>value</var> argument is a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>, and the <var>replacement</var>
is a replacement string, which may contain backreferences.</dd>
</dl>
<dt><code>merge</code></dt>
<dd>The response header is appended to any existing header of
the same name, unless the value to be appended already appears in the
@@ -372,25 +383,15 @@ headers</td></tr>
all format specifiers have been processed. Values in double quotes
are considered different from otherwise identical unquoted values.</dd>
<dt><code>add</code></dt>
<dd>The request header is added to the existing set of headers,
even if this header already exists. This can result in two
(or more) headers having the same name. This can lead to
unforeseen consequences, and in general <code>set</code>,
<code>append</code> or <code>merge</code> should be used instead.</dd>
<dt><code>set</code></dt>
<dd>The request header is set, replacing any previous header
with this name</dd>
<dt><code>unset</code></dt>
<dd>The request header of this name is removed, if it exists. If
there are multiple headers of the same name, all will be removed.
<var>value</var> must be omitted.</dd>
<dt><code>edit</code></dt>
<dd>If this request header exists, its value is transformed according
to a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>
search-and-replace. The <var>value</var> argument is a <aclass="glossarylink"href="../glossary.html#regex"title="see glossary">regular expression</a>, and the <var>replacement</var>
is a replacement string, which may contain backreferences.</dd>
</dl>
<p>This argument is followed by a header name, which can
include the final colon, but it is not required. Case is
ignored. For <code>set</code>, <code>append</code>, <code>merge</code> and