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
MasonX::Request::WithMultiSession(3) User Contributed Perl Documentation MasonX::Request::WithMultiSession(3)
 

MasonX::Request::WithMultiSession - Multiple sub-sessions within one "parent" session

  PerlSetVar  MasonRequestClass  MasonX::Request::WithMultiSession

This module subclasses "MasonX::Request::WithApacheSession" in order to allow multiple "sub-sessions" to exist within one parent session.
This can be quite useful for a web app where you want to allow the user to open multiple windows, each with a different session, but session ids are stored in a cookie.
Like "MasonX::Request::WithApacheSession", sub-sessions are shared between a request and any subrequests it creates.

This class has an interface quite similar to that of "MasonX::Request::WithApacheSession".
session
The primary interface to this class is through the "session()" method. When this method is called without any parameters, the module looks for an existing sub-session specified by the sub-session id argument parameter (which can be in a query string or POST). This value can be overridden by explicitly passing a "sub_session_id" parameter.
If this parameter is found, an existing sub-session is returned. If this parameter is not found, a new sub-session is created.
If the "session()" method is called as "session( clone => 1 )" then a new sub-session will be created, and its contents will be the same as that of the current sub-session. This is a shallow copy of the old session hash, so objects and references are shared between them.
If "session( new => 1 )" is called, then a new, empty, sub-session is created.
You can specify the main session id to use via the "session_id" parameter.
sub_session_id
This method returns the currently active sub-session's id. Use this method to put this id into URL parameters, forms, etc. as needed.
If given a "sub_session_id" parameter, it will set the current sub-session id.
delete_sub_session
By default, this simply defaults the current sub-session. You can pass a "sub_session_id" parameter to delete a specific session.

This module takes two parameters besides those inherited from "MasonX::Request::WithApacheSession":
multi_session_args_param / MultiSessionArgsParam
This parameter can be used to specify which parameter contains the sub-session id. By default, the module will look for a parameter called "sub_session_id".
multi_session_expire / MultiSessionExpire
This parameter specifies the number of seconds after a sub-session is accessed until it is purged. If not specified, then sub-sessions are never purged.
Sub-sessions expiration is checked when the request object goes out of scope.

You will need to manually set the sub-session id argument parameter for each request. The easiest way to do this is to make sure that all URLs contain the sub-session id. This can be done by using a "<%filter>" block in a top-level autohandler (although this won't catch redirects), or by making sure all URLs are generated by a single component/function.

Bug reports and requests for help should be sent to the mason-users list. See http://www.masonhq.com/resources/mailing_lists.html for more details.

Dave Rolsky, <autarch@urth.org>
Development funded by Marigold Technologies.

HTML::Mason
2019-01-02 perl v5.28.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.