NAME
Konstrukt::Handler::Apache - Handler for an Apache request
SYNOPSIS
Handle an apache request
Konstrukt::Handler::Apache::handler($request);
Plugins and other module may access some request-specific data:
#the absolute path to the processed file
$Konstrukt::Handler->{abs_filename}
#the path to the processed file relative to the document root
$Konstrukt::Handler->{filename}
#the apache request object. shouldn't be used for compatibility reasons.
$Konstrukt::Handler->{apache_request}
#the environment variables of this process as an hashref
$Konstrukt::Handler->{ENV}
#cookies as an hashref of cookie objects
$Konstrukt::Handler->{cookies}
#create new cookie:
$Konstrukt::Handler->{foo} = CGI::Cookie->new(-name => 'foo', -value => 'bar');
DESCRIPTION
Parses the requested file against special (e.g. <&...&>) tags.
CONFIGURATION
Tell Apache to apply the PerlHandler on the requested files.
#You may load a startup script that loads all the modules at startup
#PerlRequire perl-scripts/script_to_load_at_startup.pl
#mod_perl 1
<IfDefine !MODPERL2>
PerlWarn On
PerlFreshRestart On
</IfDefine>
#mod_perl 2
<IfDefine MODPERL2>
#Some useful options
PerlSwitches -w #mod_perl 2
#Monitor and reload all modules in %INC:
#httpd.conf:
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
#Alternatively: Reload a specific set of modules only
PerlModule Apache2::Reload
PerlInitHandler Apache2::Reload
PerlSetVar ReloadAll Off
#Then any modules with the line:
# use Apache2::Reload;
#Will be reloaded when they change.
#You can also sepcify the modules to be reloaded manually
PerlSetVar ReloadModules "My::Foo My::Bar Foo::Bar::Test"
PerlSetVar ReloadDirectories "/tmp/project1 /tmp/project2"
#Note that ReloadModules and ReloadDirectories will narrow down the set
#of modules to reload.
#To monitor the reloading of modules use:
PerlSetVar ReloadDebug On
</IfDefine>
#Preload Module
PerlModule Konstrukt
PerlModule Konstrukt::Handler::Apache
#You may also assign the handler to *.html
<Files *.ihtml>
<IfDefine !MODPERL2>
SetHandler perl-script
</IfDefine>
<IfDefine MODPERL2>
SetHandler modperl
</IfDefine>
PerlHandler Konstrukt::Handler::Apache
</Files>
#Do not allow access to *.template, *.form and konstrukt.settings files
#as they contain sensitive information
<FilesMatch "(\.template|\.form|konstrukt\.settings)$">
Deny from All
</FilesMatch>
FUNCTIONS
handler
Handles the request.
Filter a file before returning it to the web client.
Parameters:
$request - The Apache request
AUTHOR
Copyright 2006 Thomas Wittek (mail at gedankenkonstrukt dot de). All rights reserved.
This document is free software. It is distributed under the same terms as Perl itself.