<h1 class="SECT1"><a name="FILTER-FILE" id="FILTER-FILE">9. Filter Files</a></h1>
<p>On-the-fly text substitutions need to be defined in a <span class="QUOTE">"filter file"</span>. Once defined,
they can then be invoked as an <span class="QUOTE">"action"</span>.</p>
- <p><span class="APPLICATION">Privoxy</span> supports three different pcrs-based filter actions: <tt class=
+ <p><span class="APPLICATION">Privoxy</span> supports four different pcrs-based filter actions: <tt class=
"LITERAL"><a href="actions-file.html#FILTER">filter</a></tt> to rewrite the content that is send to the client,
<tt class="LITERAL"><a href="actions-file.html#CLIENT-HEADER-FILTER">client-header-filter</a></tt> to rewrite
- headers that are send by the client, and <tt class="LITERAL"><a href=
+ headers that are send by the client, <tt class="LITERAL"><a href=
"actions-file.html#SERVER-HEADER-FILTER">server-header-filter</a></tt> to rewrite headers that are send by the
- server.</p>
+ server, and <tt class="LITERAL"><a href="actions-file.html#CLIENT-BODY-FILTER">client-body-filter</a></tt> to
+ rewrite client request body.</p>
<p><span class="APPLICATION">Privoxy</span> also supports two tagger actions: <tt class="LITERAL"><a href=
"actions-file.html#CLIENT-HEADER-TAGGER">client-header-tagger</a></tt> and <tt class="LITERAL"><a href=
"actions-file.html#SERVER-HEADER-TAGGER">server-header-tagger</a></tt>. Taggers and filters use the same syntax in
<p>Just like the <a href="actions-file.html">actions files</a>, the filter file is organized in sections, which are
called <span class="emphasis"><i class="EMPHASIS">filters</i></span> here. Each filter consists of a heading line,
that starts with one of the <span class="emphasis"><i class="EMPHASIS">keywords</i></span> <tt class=
- "LITERAL">FILTER:</tt>, <tt class="LITERAL">CLIENT-HEADER-FILTER:</tt> or <tt class=
- "LITERAL">SERVER-HEADER-FILTER:</tt> followed by the filter's <span class="emphasis"><i class=
- "EMPHASIS">name</i></span>, and a short (one line) <span class="emphasis"><i class=
+ "LITERAL">FILTER:</tt>, <tt class="LITERAL">CLIENT-HEADER-FILTER:</tt>, <tt class=
+ "LITERAL">SERVER-HEADER-FILTER:</tt> or <tt class="LITERAL">CLIENT-BODY-FILTER:</tt> followed by the filter's
+ <span class="emphasis"><i class="EMPHASIS">name</i></span>, and a short (one line) <span class="emphasis"><i class=
"EMPHASIS">description</i></span> of what it does. Below that line come the <span class="emphasis"><i class=
"EMPHASIS">jobs</i></span>, i.e. lines that define the actual text substitutions. By convention, the name of a
filter should describe what the filter <span class="emphasis"><i class="EMPHASIS">eliminates</i></span>. The