Quick Navigator

Search Site

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

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MASONX::REQUEST::WITHMULTISESSION (3)

.ds Aq ’


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.
o 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.

o 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.

o 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:
o 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.

o 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 for more details.


Dave Rolsky, <>

Development funded by Marigold Technologies.


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

perl v5.20.3 MASONX::REQUEST::WITHMULTISESSION (3) 2016-04-03

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