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.