The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::Mason::ApacheHandler - Mason/mod_perl interface

SYNOPSIS

    my $ah = new HTML::Mason::ApacheHandler (..name/value params..);
    ...
    sub handler {
        my $r = shift;
        $ah->handle_request($r);
    }

DESCRIPTION

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.

PARAMETERS TO THE new() CONTRUCTOR

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 Devel/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 Admin/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 Interp/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{/_[^/]+$}

ACCESSOR METHODS

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');

AUTHOR

Jonathan Swartz, swartz@transbay.net

SEE ALSO

HTML::Mason, HTML::Mason::Parser, HTML::Mason::Interp, HTML::Mason::Admin