Konstrukt::Handler::Apache - Handler for an Apache request
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');
Parses the requested file against special (e.g. <&...&>) tags.
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>
Handles the request.
Filter a file before returning it to the web client.
Parameters:
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.