NAME

ASP4::TransHandler - PerlTransHandler with access to ASP4::Config

SYNOPSIS

package My::TransHandler;

use strict;
use warnings 'all';
use base 'ASP4::TransHandler';
use ASP4::ConfigLoader;

sub handler : method {
  my ($class, $r) = @_;
  
  my $super_response = $class->SUPER::handler( $r );
  
  my $config = ASP4::ConfigLoader->load();
  
  # Do stuff...
  calculate_pi_to_the_billionth_decimal_place();
  
  # Finally...
  return $super_response;
}

1;# return true:

Then, in your httpd.conf:

<Perl>
  push @INC, '/path/to/your/libs';
</Perl>

<VirtualHost *:80>
  ...
  PerlTransHandler My::TransHandler
  ...
</VirtualHost>

DESCRIPTION

ASP4::TransHandler is a utility class that helps module authors take advantage of the ASP4 configuration without actually doing any of the work.

RequestFilters vs TransHandlers

The difference between TransHandlers and ASP4::RequestFilters is that within a RequestFilter, you have access to all of the normal ASP objects ($Request, $Response, $Session, etc).

In a TransHandler, you only have access to the Apache2::RequestRec $r and the ASP4::Config (and only then if you load it up yourself via ASP4::ConfigLoader.

NOTE: - TransHandlers are configured in the httpd.conf and are only executed in a real Apache2 httpd environment. They are not executed during testing or via ASP4::API.

TransHandlers are a handy way of jumping into "normal" mod_perl handler mode without losing access to your web application's config.