HTML::Mason::ApacheHandler - Mason/mod_perl interface
my $ah = new HTML::Mason::ApacheHandler (..name/value params..);
...
sub handler {
my $r = shift;
$ah->handle_request($r);
}
The ApacheHandler object links Mason to Apache, running components in
response to HTTP requests. It is controlled primarily through parameters to
the new()
constructor.
handle_request()
is not a user method, but rather is called
from the HTML::Mason::handler() routine in handler.pl.
- apache_status_title
-
Title that you want this ApacheHandler to appear as under Apache::Status.
Default is ``HTML::Mason status''. This is useful if you create more then
one ApacheHandler object and want them all visible via Apache::Status.
- auto_send_headers
-
True or undef; default true. Indicates whether Mason should automatically
send HTTP headers before sending content back to the client. If you set to
false, you should call $r->send_http_header manually.
See the sending_http_headers of the Component Developer's Guide for details about the automatic header
feature.
- debug_handler_proc, debug_handler_script, debug_mode, debug_perl_binary
-
The debug_* parameters control Mason's use of debug files. Component debugging procedures are fully described in the Mason
Administrator's Guide.
- error_mode
-
Specifies one of two ways to handle Perl errors, 'fatal' or 'html'. In
fatal mode the handler simply dies with the error message. This may be
caught with an eval around
$ah->handle_request
or left for Apache to handle (generally with a return status of 500). In
HTML mode the handler sends a readable HTML version of the error message to
the client. HTML mode is most useful in combination with batch output mode
for debugging.
- output_mode
-
This parameter has been replaced by the equivalent Interp parameter
out_mode. For backward compatibility, setting
$ah->output_mode
will cause $interp->out_mode
to be set appropriately.
- top_level_predicate
-
Reference to a subroutine that decides whether a component can answer top
level requests. This allows for private-use components that live within the
DocumentRoot but are inaccesible from URLs. By default, always returns 1.
The subroutine receives one parameter, the absolute path to the component.
It then returns either a true (serve component) or false (reject
component). In this example, the predicate rejects requests for components
whose name starts with an ``_'' character:
top_level_predicate => sub { $_[0] !~ m{/_[^/]+$}
All of the above properties have standard accessor methods of the same
name: no arguments retrieves the value, and one argument sets it. For
example:
my $ah = new HTML::Mason::ApacheHandler;
my $errmode = $ah->error_mode;
$ah->error_mode('html');
Jonathan Swartz, swartz@transbay.net
HTML::Mason,
HTML::Mason::Parser,
HTML::Mason::Interp,
HTML::Mason::Admin