Apache2::ASP::GlobalASA - Base GlobalASA class


Apache2-ASP documentation Contained in the Apache2-ASP distribution.

Index


Code Index:

NAME

Top

Apache2::ASP::GlobalASA - Base GlobalASA class

SYNOPSIS

Top

In your apache2-asp-config.xml:

  <?xml version="1.0" ?>
  <config>
    ...
    <web>
      ...
      <application_name>MyApp</application_name>
      ...
    </web>
    ...
  </config>

Then, in htdocs/GlobalASA.pm:

  package MyApp::GlobalASA;

  use strict;
  use warnings;
  use base 'Apache2::ASP::GlobalASA';
  use vars __PACKAGE__->VARS;

  # Called when the apache httpd process first initializes, 
  # before Application_OnStart is called
  sub Server_OnStart
  {
    warn "Server_OnStart()";
  }# end Server_OnStart()

  # Called the first time an application is actually fired up:
  sub Application_OnStart
  {
    warn "Application_OnStart()";
  }# end Application_OnStart()

  # Called on the first request received from a client:
  sub Session_OnStart
  {
    warn "Session_OnStart()";
  }# end Session_OnStart()

  # Called *after* RequestFilters, but before the ASP script (or handler)
  sub Script_OnStart
  {
    warn "Script_OnStart()";
  }# end Session_OnStart()

  # Called after the ASP script or handler, but before any PerlCleanupHandlers
  sub Script_OnEnd
  {
    warn "Script_OnEnd()";
  }# end Script_OnEnd()

  1;# return true:

DESCRIPTION

Top

In "Classic ASP" the Global.ASA provided a means of hooking into the Application_OnStart and Session_OnStart events.

In Apache2::ASP more events are provided, taking the same idea a little further.

EVENTS

Top

Server_OnStart

Called once per Apache httpd process, before Application_OnStart.

Application_OnStart

Called once in the lifetime of an Application.

Session_OnStart

Called once at the beginning of a browser session.

This is a good place to initialize any session variables.

Script_OnStart

Called after any/all Apache2::ASP::RequestFilters have finished.

This event won't get used much anymore, since we have Apache2::ASP::RequestFilters now, but we keep it around just in case you want it for something quick.

Script_OnEnd

Called after the script has ended, before any PerlCleanupHandlers are called.

NOTE: This event is not raised if an error is thrown while executing the request.

BUGS

Top

It's possible that some bugs have found their way into this release.

Use RT http://rt.cpan.org/NoAuth/Bugs.html?Dist=Apache2-ASP to submit bug reports.

HOMEPAGE

Top

Please visit the Apache2::ASP homepage at http://www.devstack.com/ to see examples of Apache2::ASP in action.

AUTHOR

Top

John Drago <jdrago_999@yahoo.com>

COPYRIGHT

Top

LICENSE

Top

This software is Free software and is licensed under the same terms as perl itself.


Apache2-ASP documentation Contained in the Apache2-ASP distribution.

package Apache2::ASP::GlobalASA;

use strict;
use warnings 'all';
BEGIN {
  use vars '@VARS';
  our @VARS = qw(
    $Request  $Response
    $Server   $Application
    $Session  $Form
    $Config   $Stash
  );
  use vars @VARS;
}


#==============================================================================
sub VARS { @VARS }


#==============================================================================
sub init_asp_objects
{
  my ($s, $context) = @_;
  
  no strict 'refs';
  my $selfclass = ref($s) || $s;
  
  # Get each of this classes' superclasses, and theirs as well, recursively:
  my %c = map { $_ => 1 } (
    grep { $_->isa('Apache2::ASP::GlobalASA') } 
    ( $selfclass, @{"$selfclass\::ISA"} )
  );
  map { $c{$_}++ } map {
    @{"$_\::ISA"}
  } keys(%c);
  my @classes = keys(%c);
  
  foreach my $class ( @classes )
  {
    ${"$class\::Request"}     = $context->request;
    ${"$class\::Response"}    = $context->response;
    ${"$class\::Server"}      = $context->server;
    ${"$class\::Session"}     = $context->session;
    ${"$class\::Application"} = $context->application;
    ${"$class\::Config"}      = $context->config;
    ${"$class\::Form"}        = $context->request->Form;
    ${"$class\::Stash"}       = $context->stash;
  }# end foreach()
}# end init_asp_objects()


#==============================================================================
sub Application_OnStart()
{

}# end Application_OnStart()


#==============================================================================
sub Application_OnEnd()
{

}# end Application_OnEnd()


#==============================================================================
sub Server_OnStart()
{

}# end Server_OnStart()


#==============================================================================
sub Server_OnEnd()
{

}# end Server_OnEnd()


#==============================================================================
sub Session_OnStart()
{

}# end Session_OnStart()


#==============================================================================
sub Session_OnEnd()
{

}# end Session_OnEnd()


#==============================================================================
sub Script_OnStart()
{

}# end Script_OnStart()


#==============================================================================
sub Script_OnEnd()
{

}# end Script_OnEnd()


#==============================================================================
sub Script_OnError($);

1;# return true: