1MasonX::Request::WithMuUlsteirSeCsosnitorni(b3u)ted PerlMaDsoocnuXm:e:nRteaqtuieosnt::WithMultiSession(3)
2
3
4

NAME

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

SYNOPSIS

10         PerlSetVar  MasonRequestClass  MasonX::Request::WithMultiSession
11

DESCRIPTION

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

METHODS

24       This class has an interface quite similar to that of
25       "MasonX::Request::WithApacheSession".
26
27       •   session
28
29           The primary interface to this class is through the "session()"
30           method.  When this method is called without any parameters, the
31           module looks for an existing sub-session specified by the sub-
32           session id argument parameter (which can be in a query string or
33           POST).  This value can be overridden by explicitly passing a
34           "sub_session_id" parameter.
35
36           If this parameter is found, an existing sub-session is returned.
37           If this parameter is not found, a new sub-session is created.
38
39           If the "session()" method is called as "session( clone => 1 )" then
40           a new sub-session will be created, and its contents will be the
41           same as that of the current sub-session.  This is a shallow copy of
42           the old session hash, so objects and references are shared between
43           them.
44
45           If "session( new => 1 )" is called, then a new, empty, sub-session
46           is created.
47
48           You can specify the main session id to use via the "session_id"
49           parameter.
50
51       •   sub_session_id
52
53           This method returns the currently active sub-session's id.  Use
54           this method to put this id into URL parameters, forms, etc. as
55           needed.
56
57           If given a "sub_session_id" parameter, it will set the current sub-
58           session id.
59
60       •   delete_sub_session
61
62           By default, this simply defaults the current sub-session.  You can
63           pass a "sub_session_id" parameter to delete a specific session.
64
65   Parameters
66       This module takes two parameters besides those inherited from
67       "MasonX::Request::WithApacheSession":
68
69       •   multi_session_args_param / MultiSessionArgsParam
70
71           This parameter can be used to specify which parameter contains the
72           sub-session id.  By default, the module will look for a parameter
73           called "sub_session_id".
74
75       •   multi_session_expire / MultiSessionExpire
76
77           This parameter specifies the number of seconds after a sub-session
78           is accessed until it is purged.  If not specified, then sub-
79           sessions are never purged.
80
81           Sub-sessions expiration is checked when the request object goes out
82           of scope.
83

USAGE

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

SUPPORT

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

AUTHOR

98       Dave Rolsky, <autarch@urth.org>
99
100       Development funded by Marigold Technologies.
101

SEE ALSO

103       HTML::Mason
104
105
106
107perl v5.36.0                      2022-07-2M2asonX::Request::WithMultiSession(3)
Impressum