GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Gantry::State::Default(3) User Contributed Perl Documentation Gantry::State::Default(3)

Gantry::State::Default - Default state handler for Gantry

This module implements the default handler to control the execution context within GantryXs handler() method.

When a request comes into Gantry a preXdetermined set of steps are executed. These preXdetermined steps can be termed "states", and the process can be called a "state machine". There are many ways to implement a "state machine", so this document will not get into the semantics of the term.

What this module does, is take Gantry's default handling of a request, and places it into a loadable module. With these "states" now in a loadable module, you can change the execution order to suit your applications needs.

Why is this desirable?

LetXs say you have an application the loads some plugins, those plugins must do a relocation for proper initialization and this relocation must be done before the controllers can execute properly. Or you want "hook" processing, using per and post "hook" plugins. With the default handler, this is not possible, with a loadable "state machine" this is now quite easy to do.

This module also moves the methods relocate() and relocate_permanently() from Gantry.pm into this module.

To load a differant state machine you need to do the following:

use MyApp qw{ XStateMachine=Machine };

state_run
This method is where the logic goes for your handler. It will receive two paramters:

 r_or_cgi          This is passed into GantryXs handler() method
                   and is determined by the execution environment
                   that Gantry is running within (CGI, MP13, MP20).

 plugin_callbacks  This is determined by Gantry at runtime.
    

Example:

 sub state_run {
     my ($self, $r_or_cgi, $plugin_callbacks) = @_;

     # your code goes here

 }
state_engine
This method returns the name of the state machine.

$name = $selfX>state_engine;

relocate
This method can be called from any controller and will relocate the user to the given location.

$selfX>relocate( location );

relocate_permanently
This method can be called from any controller and will relocate the user to the given location using HTTP_MOVED_PERMANENTLY 301.

$selfX>relocate_permanently( location );

Gantry

Kevin L. Esteb <kesteb@wsipc.org>

Copyright (C) 2008 Kevin L. Esteb

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.

Hey! The above document had some coding errors, which are explained below:
Around line 242:
Non-ASCII character seen before =encoding in 'GantryXs'. Assuming UTF-8
2022-04-07 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.