Practical mod_perl / HTML Book /



previous page: B.14.9. Template Toolkit—Template Processing System
  
page up: HTML Version of the book
  
next page: B.15.2. Apache::Clean—mod_perl Interface Into HTML::Clean

B.15.1. Apache::OutputChain—Chain Stacked Perl Handlers


Apache::OutputChain was written to explore the possibilities of stacked handlers in mod_perl. It ties STDOUT to an object that catches the output and makes it easy to build a chain of modules that work on the output data stream.

Examples of modules that are built using this idea are Apache::SSIChain, Apache::GzipChain, and Apache::EmbperlChain—the first processes the SSIs in the stream, the second compresses the output on the fly, and the last provides Embperl processing.

The syntax is like this:

<Files *.html>
    SetHandler perl-script
    PerlHandler Apache::OutputChain Apache::SSIChain Apache::PassHtml
</Files>

The modules are listed in reverse order of their execution—here the Apache::PassHtml module simply collects a file's content and sends it to STDOUT, and then it's processed by Apache::SSIChain, which sends its output to STDOUT again. Then it's processed by Apache::OutputChain, which finally sends the result to the browser.

An alternative to this approach is Apache::Filter, which has a more natural forward configuration order and is easier to interface with other modules.

Apache::OutputChain works with Apache::Registry as well. For example:

Alias /foo /home/httpd/perl/foo
<Location /foo>
    SetHandler "perl-script"
    Options +ExecCGI
    PerlHandler Apache::OutputChain Apache::GzipChain Apache::Registry
</Location>

It's really a regular Apache::Registrysetup, except for the added modules in the PerlHandler line.

Available from CPAN. See the module manpage for more information.

 

Continue to:

  • prev: B.14.9. Template Toolkit—Template Processing System
  • Table of Contents
  • next: B.15.2. Apache::Clean—mod_perl Interface Into HTML::Clean







TOP
previous page: B.14.9. Template Toolkit&#8212;Template Processing System
  
page up: HTML Version of the book
  
next page: B.15.2. Apache::Clean&#8212;mod_perl Interface Into HTML::Clean


Menu

  • HTML Book
  • PDF Book
  • Download Code
  • Table of Contents
  • Errata
  • mod_perl2 User's Guide
  • Sitemap

Search


Add to Google




Creative Commons License


Written by
Eric Cholet (Logilune) and
Stas Bekman (StasoSphere & Free Books).


[ Privacy Policy | Terms of Use | About Us | Search ]

© 2007 StasoSphere.com