You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by Joshua Slive <sl...@finance.commerce.ubc.ca> on 2001/02/10 05:10:44 UTC

cvs commit: httpd-2.0/docs/manual/mod core.html directives.html mod_ext_filter.html (fwd)

I just did a tiny bit of work adding some filter docs.  Perhaps someone
who has actually tried some of this stuff can look it over.

In particular, a few things I don't know:

1. What is the "SetFilter" directive in mod_mime?

2. Are there any other filters provided by Apache besides INCLUDE?

3. Is there any developer documenatation to point to?

4. Is there anyting else people need to know about filters?


---------- Forwarded message ----------
Date: 10 Feb 2001 04:04:12 -0000
From: slive@apache.org
Reply-To: new-httpd@apache.org
To: httpd-2.0-cvs@apache.org
Subject: cvs commit: httpd-2.0/docs/manual/mod core.html directives.html
    mod_ext_filter.html

slive       01/02/09 20:04:12

  Modified:    docs/manual index.html
               docs/manual/mod core.html directives.html
                        mod_ext_filter.html
  Added:       docs/manual filter.html
  Log:
  Add some VERY basic filter documentation.  See followup discussion
  on apache-docs.

  Revision  Changes    Path
  1.19      +2 -0      httpd-2.0/docs/manual/index.html

  Index: index.html
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/index.html,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -d -b -u -r1.18 -r1.19
  --- index.html	2001/01/23 23:24:06	1.18
  +++ index.html	2001/02/10 04:04:11	1.19
  @@ -133,6 +133,8 @@
   </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>



  1.1                  httpd-2.0/docs/manual/filter.html

  Index: filter.html
  ===================================================================
  <!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>




  1.186     +69 -0     httpd-2.0/docs/manual/mod/core.html

  Index: core.html
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/mod/core.html,v
  retrieving revision 1.185
  retrieving revision 1.186
  diff -u -d -b -u -r1.185 -r1.186
  --- core.html	2001/01/28 00:19:28	1.185
  +++ core.html	2001/02/10 04:04:12	1.186
  @@ -73,6 +73,8 @@
   <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">&lt;VirtualHost&gt;</A>
  @@ -2479,6 +2481,73 @@
   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>
  +&lt;Directory /www/data/&gt;<BR>
  +&nbsp;&nbsp;SetOutputFilter INCLUDES<BR>
  +&lt;/Directory&gt;
  +</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 &lt;?INDEX {\tt TimeOut} directive&gt; -->
   <A



  1.76      +2 -0      httpd-2.0/docs/manual/mod/directives.html

  Index: directives.html
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/mod/directives.html,v
  retrieving revision 1.75
  retrieving revision 1.76
  diff -u -d -b -u -r1.75 -r1.76
  --- directives.html	2000/12/11 00:45:41	1.75
  +++ directives.html	2001/02/10 04:04:12	1.76
  @@ -222,6 +222,8 @@
   <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>



  1.4       +4 -4      httpd-2.0/docs/manual/mod/mod_ext_filter.html

  Index: mod_ext_filter.html
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/docs/manual/mod/mod_ext_filter.html,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -d -b -u -r1.3 -r1.4
  --- mod_ext_filter.html	2000/12/09 19:50:02	1.3
  +++ mod_ext_filter.html	2001/02/10 04:04:12	1.4
  @@ -86,7 +86,7 @@
       &lt;Directory "/export/home/trawick/apacheinst/htdocs/c"&gt;

       # 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
  @@ -108,7 +108,7 @@
     &lt;Location /gzipped&gt;

     # 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
  @@ -127,7 +127,7 @@

     # core directive to cause the slowdown filter to be run several times on
     # output
  -  AddOutputFilter slowdown slowdown slowdown
  +  SetOutputFilter slowdown slowdown slowdown

     &lt;/Location&gt;
     </PRE>
  @@ -173,7 +173,7 @@

     <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>






Re: cvs commit: httpd-2.0/docs/manual/mod core.html directives.html mod_ext_filter.html (fwd)

Posted by rb...@covalent.net.
> I just did a tiny bit of work adding some filter docs.  Perhaps someone
> who has actually tried some of this stuff can look it over.
> 
> In particular, a few things I don't know:
> 
> 1. What is the "SetFilter" directive in mod_mime?

It is bogus, I'll remove it ASAP.

> 2. Are there any other filters provided by Apache besides INCLUDE?

The external filter in mod_ext_filter.  Other than that, there is the
byterange, and chunk filter, but those are handled by the Apache
internals.

> 3. Is there any developer documenatation to point to?

Nope.  Take a look at apachetoday.com, for my articles on writing
filters.  I haven't checked to see when those articles are available to be
donated, but when they are, the group will get them.

> 4. Is there anyting else people need to know about filters?

Not that I can think of.  But, we should fix the default config file to
remove the AddHandler server-parsed .shtml, and add a Files container that
uses SetOutputFilter.  I may get to it tonight, but feel free to beat me
to it.

Ryan

_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------