NAME

Apache2::ASP::Handler - Base class for all Apache2::ASP handlers

SYNOPSIS

package MyHandler;

use strict;
use base 'Apache2::ASP::Handler';

sub run {
  my ($s, $asp, @args) = @_;
  
  $asp->response->Write("Hello, world!.");
}# end process_request()

1;# return true:

Access MyHandler via the URL /handlers/MyHandler on your website.

DESCRIPTION

Apache2::ASP::Handler offers an "in-between" ASP environment in which there is no Perl embedded within HTML (via <% and %> tags) but you still get the ASP objects ($Request, $Response, $Session, $Server and $Application).

Handlers are useful for things like form processing when no HTML content is sent back to the client (because the client is redirected to another ASP instead).

METHODS

The following methods are intended for subclasses of Apache2::ASP::Handler.

run( $self, $asp, @args)

Works just like the example in the synopsis.

register_mode( %args )

Allows your Handler class to handle "mode=xxx" requests for other Handlers.

Example:

package MyHandler;

use base 'SomeDefaultHandler';

__PACKAGE__->register_mode(
  name    => 'mymode',
  handler => \&do_mymode,
);

# Accessible via URLs such as /handler/SomeDefaultHandler?mode=mymode
sub do_mymode
{
  my ($Session, $Request, $Response, $Server, $Application) = @_;
  
  # ... do stuff ...
  $Response->Write("mymode is successful!");
}# end do_mymode()

Any call to /media/file123.gif?mode=mymode will execute your do_mymode() method.

This is useful for generating image thumbnails - i.e. /media/file123.gif?mode=thumb&max_w=100&max_h=80

The rest is left as an exercise for the reader.

AUTHOR

John Drago jdrago_999@yahoo.com

COPYRIGHT AND LICENSE

Copyright 2007 John Drago, All rights reserved.

This software is free software. It may be used and distributed under the same terms as Perl itself.