HTML::Mason::Plugin man page on Alpinelinux

Man page or keyword search:  
man Server   18016 pages
apropos Keyword Search (all sections)
Output format
Alpinelinux logo
[printable version]

HTML::Mason::Plugin(3)User Contributed Perl DocumentatioHTML::Mason::Plugin(3)

NAME
       HTML::Mason::Plugin - Plugin Base class for Mason

VERSION
       version 1.54

DESCRIPTION
       Use a Mason plugin to have actions occur at the beginning or end of
       requests or components. Plugins are activated by passing plugins in the
       interpreter or request object. Each plugin in the list can be specified
       as a class name (in which case the plugin object is created once for
       each request) or as an actual object of the plugin class.

       If your plugin can be configured, place the configuration in class
       variables - for example,

	   $MasonX::Plugin::Timer::Units = 'seconds';

       These can be set either from httpd.conf via PerlSetVar directives, or
       in perl directly from a handler.pl file.

SYNOPIS
	  package MasonX::Plugin::Timer;
	  use base qw(HTML::Mason::Plugin);
	  use Time::HiRes;

	  sub start_component_hook {
	      my ($self, $context) = @_;
	      push @{$self->{ timers }}, Time::HiRes::time;
	  }

	  sub end_component_hook {
	      my ($self, $context) = @_;
	      my $elapsed = Time::HiRes::time - pop @{$self->{ timers }};
	      printf STDERR "Component '%s' took %.1f seconds\n",
		  $context->comp->title, $elapsed;
	  }

	  1;

PLUGIN HOOKS
       A plugin class defines one or more of the following hooks (methods):
       start_request_hook, end_request_hook, start_component_hook, and
       end_component_hook.

       Every hook receives two arguments: the plugin object itself, and a
       context object with various methods.

       start_request_hook
	   "start_request_hook" is called before the Mason request begins
	   execution.  Its context has the following read-only methods:

	       request # the current request ($m)
	       args    # arguments the request was called with

	   When called in scalar context, args returns a list reference which
	   may be modified to change or add to the arguments passed to the
	   first component. When called in list context, args returns a list
	   (which may be assigned to a hash).

	   Note that subrequests (see HTML::Mason::Request will create a new
	   plugin object and execute this code again; you can skip your code
	   for subrequests by checking "is_subrequest" on request. e.g.

	      sub start_request_hook {
		  my ($self, $context) = @_;
		  unless ($context->request->is_subrequest()) {
		      # perform hook action
		  }
	      }

	   Currently, this hook is called before any information about the
	   requested component is available, so you cannot call methods like
	   "base_comp()" or "request_args()" on the Request object.

       end_request_hook
	   "end_request_hook" is called before the Mason request exits. Its
	   context has the following read-only methods:

	       request	   # the current request ($m)
	       args	   # arguments the request was called with
	       output	   # reference to the contents of the output buffer
	       wantarray   # value of wantarray the request was called with
	       result	   # arrayref of value(s) that the request is about to return
	       error	   # reference to error, if any, that the request is about to throw

	   When called in scalar context, args returns a list reference; when
	   called in list context, it returns a list (which may be assigned to
	   a hash).

	   result always contains an array ref; if wantarray is 0, the return
	   value is the the first element of that array. The plugin may modify
	   output to affect what the request outputs, and result and error to
	   affect what the request returns.

       start_component_hook
	   "start_component_hook" is called before a component begins
	   executing. Its context has the following read-only methods:

	       request	   # the current request ($m)
	       comp	   # the component object
	       args	   # arrayref of arguments the component was called with

	   The plugin may NOT modify args currently.

       end_component_hook
	   "end_component_hook()" is called after a component has completed.
	   Its context has the following read-only methods:

	       request	   # the current request ($m)
	       comp	   # the component object
	       args	   # arrayref of arguments the component was called with
	       wantarray   # value of wantarray the component was called with
	       result	   # arrayref of value(s) that the component is about to return
	       error	   # reference to error, if any, that the component is about to throw

	   result always contains an array ref; if wantarray is 0, the return
	   value is the first element of that array.  The plugin may modify
	   both result and error to affect how the request returns.

	   It would be desirable for this hook to have access to the
	   component's output as well as its return value, but this is
	   currently impossible because output from multiple components
	   combine into a single buffer.

WARNINGS
       Do not keep an unweakened reference to a request or component object in
       your plugin object, or you will create a nasty circular reference.

SEE ALSO
       Mason

AUTHORS
       ·   Jonathan Swartz <swartz@pobox.com>

       ·   Dave Rolsky <autarch@urth.org>

       ·   Ken Williams <ken@mathforum.org>

COPYRIGHT AND LICENSE
       This software is copyright (c) 2012 by Jonathan Swartz.

       This is free software; you can redistribute it and/or modify it under
       the same terms as the Perl 5 programming language system itself.

perl v5.18.2			  2014-01-19		HTML::Mason::Plugin(3)
[top]

List of man pages available for Alpinelinux

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net