books
Free Books / Computers / Practical mod_perl /

previous page: A.10. mod_rewrite in Perl
  
page up: Practical mod_perl | by Stas Bekman and Eric Cholet
  
next page: A.12. Singleton Database Handles

A.11. Setting PerlHandler Based on MIME Type




Description

This section is from the "Practical mod_perl" book, by Stas Bekman and Eric Cholet. Also available from Amazon: Practical mod_perl

It's very easy to implement a dispatching module based on the MIME type of the request—that is, for different content handlers to be called for different MIME types. Example A-5 shows such a dispatcher.

Example A-5. Book/MimeTypeDispatch.pm

package Book::MimeTypeDispatch;
use Apache::Constants qw(DECLINED);

my %mime_types = (
    'text/html'  => \&HTML::Template::handler,
    'text/plain' => \&Book::Text::handler,
);

sub handler {
    my $r = shift;
    if (my $h = $mime_types{$r->content_type}) {
        $r->push_handlers(PerlHandler => $h);
        $r->handler('perl-script');
    }
    return DECLINED;
}
1;
__END__

This should be done with PerlFixupHandler, so we add this line in httpd.conf:

PerlFixupHandler Book::MimeTypeDispatch

After declaring the package name and importing constants, we set a translation table of MIME types and the corresponding handlers to be called. Then comes the handler, where the request object is retrieved. If the request object's MIME type is found in our translation table, we set the handler that should handle this request; otherwise, we do nothing. At the end we return DECLINEDso another fixup handler can take over.

 

Continue to:

  • prev: A.10. mod_rewrite in Perl
  • Table of Contents
  • next: A.12. Singleton Database Handles

Books by Stas Bekman:















TOP
previous page: A.10. mod_rewrite in Perl
  
page up: Practical mod_perl | by Stas Bekman and Eric Cholet
  
next page: A.12. Singleton Database Handles

Topics

  • Animals
  • Architecture
  • Arts
  • Business
  • Computers
  • Crafts
  • Fairy Tales
  • Finance
  • Flora and Plants
  • Cooking
  • Gardening
  • Health and Healing
  • History
  • Home Improvements
  • Languages
  • New Age
  • Novels
  • Real Estate
  • Reference
  • Religion
  • Science
  • Society
  • Sports
  • Travel
  • Outdoors


Search

My Books

Headaches Begone! A Systemic Approach To Healing Your Headaches
Don't Let Your Bike Seat Ruin Your Sex Life Book

Discover

  • Answers FAQ

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

© 2007-2021 StasoSphere.com