--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<TITLE>Filters - Apache HTTPD</TITLE>
+</HEAD>
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+>
+<!--#include virtual="header.html" -->
+<H1 ALIGN="CENTER">Filters</H1>
+
+<table border="1">
+<tr><td valign="top">
+<strong>Related Modules</strong><br><br>
+
+<a href="mod/mod_ext_filter.html">mod_ext_filter</a><br>
+<A HREF="mod/mod_include.html">mod_include</A><br>
+</td>
+<td valign="top">
+<strong>Related Directives</strong><br><br>
+
+<a href="mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></br>
+<a href="mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a><br>
+<a href="mod/core.html#setinputfilter">SetInputFilter</a><br>
+<a href="mod/core.html#setoutputfilter">SetOutputFilter</a><br>
+</td>
+</tr></table>
+
+
+<p>A <em>filter</em> is a process which is applied to data that is
+sent or received by the server. Data sent by clients to the server
+is processed by <em>input filters</em> while data sent by the
+server to the client is processed by <em>output filters</em>.
+Multiple filters can be applied to the data, and the order
+of the filters can be explicitly specified. In addition,
+since filters apply to all content, they allow for flexible
+manipulation of data such as processing the output of
+CGI scripts for Server Side Includes.</p>
+
+<p>The set of filters which apply to data can be manipulated
+with the <code>SetInputFilter</code> and <code>SetOutputFilter</code>
+directives.</p>
+
+<p>The only filter currently included with the Apache distribution
+is the <code>INCLUDE</code> filter which is provided by
+<a href="mod/mod_include.html">mod_include</a> to process output
+for Server Side Includes. There is also an experimental module
+called <a href="mod/mod_ext_filter.html">mod_ext_filter</a>
+which allows for external programs to be defined as filters.</p>
+
+
+<!--#include virtual="footer.html" -->
+</BODY>
+</HTML>
+
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+<HEAD>
+<TITLE>Filters - Apache HTTPD</TITLE>
+</HEAD>
+
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+<BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+>
+<!--#include virtual="header.html" -->
+<H1 ALIGN="CENTER">Filters</H1>
+
+<table border="1">
+<tr><td valign="top">
+<strong>Related Modules</strong><br><br>
+
+<a href="mod/mod_ext_filter.html">mod_ext_filter</a><br>
+<A HREF="mod/mod_include.html">mod_include</A><br>
+</td>
+<td valign="top">
+<strong>Related Directives</strong><br><br>
+
+<a href="mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></br>
+<a href="mod/mod_ext_filter.html#extfilteroptions">ExtFilterOptions</a><br>
+<a href="mod/core.html#setinputfilter">SetInputFilter</a><br>
+<a href="mod/core.html#setoutputfilter">SetOutputFilter</a><br>
+</td>
+</tr></table>
+
+
+<p>A <em>filter</em> is a process which is applied to data that is
+sent or received by the server. Data sent by clients to the server
+is processed by <em>input filters</em> while data sent by the
+server to the client is processed by <em>output filters</em>.
+Multiple filters can be applied to the data, and the order
+of the filters can be explicitly specified. In addition,
+since filters apply to all content, they allow for flexible
+manipulation of data such as processing the output of
+CGI scripts for Server Side Includes.</p>
+
+<p>The set of filters which apply to data can be manipulated
+with the <code>SetInputFilter</code> and <code>SetOutputFilter</code>
+directives.</p>
+
+<p>The only filter currently included with the Apache distribution
+is the <code>INCLUDE</code> filter which is provided by
+<a href="mod/mod_include.html">mod_include</a> to process output
+for Server Side Includes. There is also an experimental module
+called <a href="mod/mod_ext_filter.html">mod_ext_filter</a>
+which allows for external programs to be defined as filters.</p>
+
+
+<!--#include virtual="footer.html" -->
+</BODY>
+</HTML>
+
</td></tr><tr><td>
<A HREF="handler.html">Handlers</A>
</td></tr><tr><td>
+<A HREF="filter.html">Filters</A>
+</td></tr><tr><td>
<A HREF="content-negotiation.html">Content negotiation</A>
</td></tr><tr><td>
<A HREF="env.html">Environment Variables</A>
</td></tr><tr><td>
<A HREF="handler.html">Handlers</A>
</td></tr><tr><td>
+<A HREF="filter.html">Filters</A>
+</td></tr><tr><td>
<A HREF="content-negotiation.html">Content negotiation</A>
</td></tr><tr><td>
<A HREF="env.html">Environment Variables</A>
<LI><A HREF="#serversignature">ServerSignature</A>
<LI><A HREF="#servertokens">ServerTokens</A>
<LI><A HREF="#servertype">ServerType</A>
+<LI><A HREF="#setinputfilter">SetInputFilter</A>
+<LI><A HREF="#setoutputfilter">SetOutputFilter</A>
<LI><A HREF="#timeout">TimeOut</A>
<LI><A HREF="#usecanonicalname">UseCanonicalName</A>
<LI><A HREF="#virtualhost"><VirtualHost></A>
standalone will probably be your only option.<P>
<HR>
+<H2><A NAME="setinputfilter">SetInputFilter directive</A></H2>
+<P><A
+ HREF="directive-dict.html#Syntax"
+ REL="Help"
+><STRONG>Syntax:</STRONG></A> SetInputFilter <EM>filter</EM>
+[<EM>filter</EM>] ...<BR>
+<A
+ HREF="directive-dict.html#Default"
+ REL="Help"
+><STRONG>Default:</STRONG></A> none<BR>
+<A
+ HREF="directive-dict.html#Context"
+ REL="Help"
+><STRONG>Context:</STRONG></A> directory<BR>
+<A
+ HREF="directive-dict.html#Status"
+ REL="Help"
+><STRONG>Status:</STRONG></A> core</P>
+
+<p>The <code>SetInputFilter</code> directive sets the filters
+which will process client requests when they are received by the
+server.</p>
+
+<p>The order of the arguments determines the order in which the
+filters will process the content.</p>
+
+<p>See also the <a href="../filter.html">Filters</a> documentation.</p>
+
+
+<P><HR>
+<H2><A NAME="setoutputfilter">SetOutputFilter directive</A></H2>
+<P><A
+ HREF="directive-dict.html#Syntax"
+ REL="Help"
+><STRONG>Syntax:</STRONG></A> SetOutputFilter <EM>filter</EM>
+[<EM>filter</EM>] ...<BR>
+<A
+ HREF="directive-dict.html#Default"
+ REL="Help"
+><STRONG>Default:</STRONG></A> none<BR>
+<A
+ HREF="directive-dict.html#Context"
+ REL="Help"
+><STRONG>Context:</STRONG></A> directory<BR>
+<A
+ HREF="directive-dict.html#Status"
+ REL="Help"
+><STRONG>Status:</STRONG></A> core</P>
+
+<P>The <code>SetOutputFilter</code> directive sets the filters which
+will process responses from the server before they are sent to the
+client. For example, the following configuration will process
+all files in the <code>/www/data/</code> directory for
+server-side includes.</P>
+
+<BLOCKQUOTE><CODE>
+<Directory /www/data/><BR>
+ SetOutputFilter INCLUDES<BR>
+</Directory>
+</CODE></BLOCKQUOTE>
+
+<p>The order of the arguments determines the order in which the
+filters will process the content.</p>
+
+<p>See also the <a href="../filter.html">Filters</a> documentation.</p>
+
+<P><HR>
<H2><A NAME="timeout">TimeOut directive</A></H2>
<!--%plaintext <?INDEX {\tt TimeOut} directive> -->
<A
<LI><A HREF="mod_setenvif.html#setenvif">SetEnvIf</A>
<LI><A HREF="mod_setenvif.html#SetEnvIfNoCase">SetEnvIfNoCase</A>
<LI><A HREF="mod_mime.html#sethandler">SetHandler</A>
+<LI><A HREF="core.html#setinputfilter">SetInputFilter</A>
+<LI><A HREF="core.html#setoutputfilter">SetOutputFilter</A>
<LI><A HREF="mpm_common.html#startservers">StartServers</A>
<LI><A HREF="mpm_common.html#startthreads">StartThreads</A>
<LI><A HREF="mpm_common.html#threadsperchild">ThreadsPerChild</A>
<Directory "/export/home/trawick/apacheinst/htdocs/c">
# core directive to cause the new filter to be run on output
- AddOutputFilter c-to-heml
+ SetOutputFilter c-to-heml
# mod_mime directive to set the type of .c files to text/c
AddType text/c .c
<Location /gzipped>
# core directive to cause the gzip filter to be run on output
- AddOutputFilter gzip
+ SetOutputFilter gzip
# mod_header directive to add "Content-Encoding: gzip" header field
Header set Content-Encoding gzip
# core directive to cause the slowdown filter to be run several times on
# output
- AddOutputFilter slowdown slowdown slowdown
+ SetOutputFilter slowdown slowdown slowdown
</Location>
</PRE>
<P>
<EM>filtername</EM> specifies the name of the filter being defined. This name
- can then be used in AddOutputFilter directives. It must be unique among all
+ can then be used in SetOutputFilter directives. It must be unique among all
registered filters. <EM>At the present time, no error is reported by the
register-filter API, so a problem with duplicate names isn't reported to the
user.</EM>